4
notes
hobocth coodmecTBa Open Source
Linux-MaujMHa cneflyromero noKOJieHwi
Silicon Graphics roTOBMTcn k fleMOHCTpauMM
HOBOM BblCOKOnpOM3BOAMTe/lbHOM CMCTeMbl
Altix 4000, Bo6paBLueM b ce6n MOLgb 512
npoueccopoB Itanium m onepauuoHHOM cuc-
TeMbi c flflpoM Linux (Novell SUSE Linux
Enterprise Server 9 unu Red Hat Enterprise
Linux Advanced
Server 4), KaK u Hbi-
HeiUHBB Altix 3000.
B OT/iMMue ot npefl-
UJeCTBeHHMUbl HO-
Ban MarnuHa coflep-
>kmt 128 T6aMT na-
MflTM, npeBOCXOflfl
ee no 3T0My napaMe-
Tpy Ha 24 T6am.
ripeAbiAyman pa3-
pa6oTKa MMena 6/ioKOByio cepBepHyio
cipyKTypy no BOceMb npoueccopoB co cbh-
3aHHOM naMBTbio, Tenepb Altix ucnonHetia
b TpaAHAHBx blade-cepeepoB, ho npu stom
OHa coxpaHH/ia cboio npMBep>KeHH0CTb mo-
Ay/ibHOCTM. Bmammo, Silicon Graphics okoh-
Maie/ibHo OTKa3a/iacb ot ucnojib30BaHMn
co6cTBeHHbix MIPS-npoueccopoB u OC Irix.
CeroAHn 6oiibuiyio Macrb (75%) cnMcxa
nBTMCOT CaMbIX MOLAHbIX B MMpe KOMnbtO-
TepoB codaBnniOT
MauiMHbi noA ynpaB-
neHueM Linux.
Silicon Graphics
yAa/lOCb 3dHHTb MeT-
BepTyio no3MAHio c
cwcTeMOM SGI Altix
3700, ncno/ib3yeMOM
NASA. KoMnaHMfl IBM
noxa He CAaeT jimam-
pytou^Mx no3 mamm:
Ha caMOH BepuiMHe pacnonowuncn eServer
Blue Gene Solution ee npoM3BOACTBa.
www.news.com
www.top500.org
Linux b Kmae: nporH03npyeMoe h hgo)kha3hho6
Eynymee nporpaMMHOH HuaycTpHH Karan —
Linux. BbiGop yxe oaejiaH, ho hmchho oh
onpeaejTHji h HOByio npo6jieMy jum IIoAHe-
6ecHOH. SUSE ot Novell, 3aBoeBaBHiHH
jiH^HpyiomHe no3Hu;HH Ha BHyrpeHHeM
pbiHKe, a Taxace ycneniHoe npOABHxceHHe
Red Hat, c oahoh ctopohbi, CTajiKHBaeT
mraHTOB c HHTepecaMH KHTaHCKHx pa3pa-
Gothhkob, a c apyroH — HBjineTCH moiu-
HBIM CTHMyjIOM pa3BHTHH nOCJie#HHX.
Kor,aa b KOHu;e nponuioro ro#a nepBBie
mam Ha hobom pbiHKe CTajia ocBaraaTb
Red Hat, cneipiajiHCTbi noAHepKHBajin,
hto, npe>Kae hcm jiodHTbCH ycnexa, en
Heodxo^HMO 6yneT npoflenaTb ^ojithh nyrb
K nOHHMaHHK) KHTaHCKHX npaBHJi, BKO-
Topbix HH£HBH#yajibHbie npeBOCxoacTBa
CMemaHbi c nojiHTHnecKOH BjiacTbio h
JIHHHbIMH CBH3HMH.
CodcTBeHHO KHTaiiCKHe Linux- KOMnaHHH
HMeiOT cojiH^Hyio rocyaapcTBeHHyK) non-
nepxcKy: chmboji Linux-uHnycTpun Karan
Red Flag Software — co CTOpOHbi AKane-
mhh Hayx Karan, a Turbolinux — co cto-
poHbi npaBHTejibCTBa IHaHxan. OpdnTa
HHTepecoB 3 thx KOMnaHHH He^ocnraeMa
#jih nocTopOHHHx, TeM He MeHee Karan -
CKHe npaBHjia He hbjihiotch hckhm aMy-
jieTOM #jih OTenecTBeHHbix npoH3BO^H-
Tejieii — xoponiHM npHMepOM MOxeT
cjiy>KHTb h ycnex Novell, h aaxce npo^BH-
xeHHe Microsoft b OT^ejibHO b3htoh npo-
bhhu;hh CnHbxya.
OaHaKO He Bee Tax rjia^KO. DiaBHOH npo-
bjieMOH, caep>KHBaK)uxeH pa3BHTHe Linux
b Karae, xax Bcema OKa3biBaeTcn 3aKOHO-
AaTejibCTBO, peryjiHpyiomee B3aHMOOTHo -
ineHHH HHOCTpaHHbix npeACTaBHTejieii co
cbohmh codcTBeHHbiMH, hto Tenepb Bbl-
3biBaeT cepbe3Hbie onaceHHH 3 a Gyaymee
Linux y nocjieaHnx donee, hcm y nepBbix.
CMoaceT jih HHaycTpHH, y xe nepexHBnian
CTpeMHTejibHbin B3JieT, H36e>xaTb rydHTejib-
hoto nepHona 3acTon, 3aBHCHT ot toto,
B3BecHT jih rocynapCTBO Bee npeHMymecTBa
HbiHeniHeii hojihthkh h auBHaenabi c ot-
Ka3a ot H3JiranHeH oneKH. HcTopHn noxa-
3aTejibHa erne h TeM, hto hh KaKoe-jindo
coo6uiecTBO, hh KOMMepnecKne raraHTbi
He HMeiOT b CBoeM pacnopHxceHHH coBep-
meHHbix MexaHH3MOB, rapanrHpyiomHx
6ecnpeiiHTCTBeHHoe pacnpocTpaHeHHe
njim «HeB3Hpan Ha rpaHHu;bi».
www.business.newsforge.com
Mewy AByMfi cpe^aMH
B OTJIHHHe OT CHTyaiJHH B KHTae coo6-
mecTBO b EBpone MoxeT OKa3biBaTb bjih-
BHHe Aaace Ha npHHUTHe pemeHHH mraH-
TaMH b MHpe Linux, nocjie coodmeHnn o
CBopauHBaHHH noAAepxKH KDE b SUSE
Linux Enterprise Server h Novell Linux
Desktop b nojib3y GNOME (npe^nojia-
rajiocb, hto OTHbiHe noAAepxcKon KDE
6yaeT Be^aTb HCKjnouHTejibHO npoeKT
openSUSE) cepBHCHan cjiyxda Novell
HcnbiTajia decnpeiie^eHTHoe AaBjieHHe
co CTopoHbi nojib30BaTejieH h pa3pa6oT-
hhkob. noA HanopOM nnceM KOMnaHHH
6buia BbiHyxAeHa OTKa3aTbcn ot no-
cneniHoro pemeHHH h onHTb noBepHyrb-
ch Ha 180°, HTo6bi ycnoKOHTb KjineHTOB.
HeKOTOpbie aHaJIHTHKH CHHTaiOT, HTO
nepBoe pemeHne Novell mohcho xotb
K aK-TO odbHCHHTb Bjia^eHHeM Ximian
c 2003 rofla h ^aBHHM 3aMaxoM Ha 6ojiee
njiOTHyio HHTerpaijHK) GNOME co cboh-
mh KOMMepneCKHMH £HCTpH6yTHBaMH.
Kan pa 3 bHCHHK)T 3 th MaHeBpbi b Novell,
KOMnaHHH npo^ojiHcaeT cnoHCHpOBaTb
06 a npoeKTa h 6 y^eT BKjHonaTb b ahctph-
dyTHBbi Bee HOBenmne pa3pa6oTKH b 06 -
jiacTH Open Desktop, ho Bee nee OT^aeT
(jiopMajibHoe npeAnoHTeHHe GNOME.
HMeHHO 3Ta HHTerpHpoBaHHan epe^a
ycTaHaBjiHBaeTCH b totobhili,hxch ahc-
Tpn 6 yTHBax no yMOJinaHHio, ecjin nojib -
30BaTejib He yKa 3 biBaeT b npoijecce
HHCTaJIJIHIJHH ApyrOH BapHaHT.
www.novell.com/prblogs
CHIP LINUX 4/2005
0 6 3 0 p bl , C 0 (5 bl T M fl
5
Nessus 0TKa3biBaeTC5i ot GPL
Eme He BbimeAUiMM TpeniM 6o/ibLuoM pe/iM3
oflHoro M3 caMbix nonynnpHbix OTKpbiTbix
peuieHMM nnn aBTOMaTM3auMM npoBepKM m
o6Hapy>KeHMB yn3BMMOcreM m 6pemeM b 3a-
iMMTe CMdeMbi Nessus m 6e3 Toro npwBiieK
6bi k ce6e BHMMaHMe, ho noc/ie 3anBneHMn
rpynnbi pa3pa6omMKOB Tenable Network
Security o nepexofle Ha 3aKpbiTbiM koa pe-
30HaHC noc/ieAOBaji HewyTOMHbm. Coocho-
Baiejib Tenable Network Security Poh Tyjia
Aa/i o6cTonTenbHoe MHTepBbio Security
Focus, TAe, o6l>flCHflfl npMMMHbl OTKa3a OT
OTKpbiTOM MOAe/iM pa3pa6oTKM, COC/ia/lCH
Ha Tpe6oBaHMH K/iueHTOB m KOMMepnecKMe
MHTepecbi npoeKTa, noAHepKMBan, mo
«CB 060 Aa» 3H3MMT OMeHb MHOTO A PS3-
HblX CTpaH, npM pa3HblX ABOpaX M B 6M3He-
ce, m Nessus 3 ocraHeTcn CBo6oAHbiM —
KpoMe tom MacTM, rAe ao cmx nop KOMy
yrOAHO MO>KHO 6bl/10 M3B/ieK3Tb BblTOAy
M3 TpyAa Tenable Network Security KpoMe
caMOM Tenable. KoMMepMecKan noAAep>KKa
Nessus 3 o6oMA6Tcn b $1200 b toa 3a oamh
o6c/iy>KMBaeMbiM cKanep. npMOTKpbiTa 3a-
Beca TdMHbi m HaA caMMM Nessus 3. 0>km-
AaeMan cxopocTb pa6oTbi cxaHepa npM
aHa/iM3e cepeepoB Windows noAHMNieTcn
B nflTb pa3 M, no CaMbIM OnTMMMCTMMHblM
nporH033M, C0CT3BMT 17 Kp3T, MTO 6\/f\eJ
AOCTMTHyTO 6jiaroAapn HOBOMy, nojiHOCTbio
nepenucaHHOMy «cepAUy» cxaHepa.
Me>KAy TeM Nessus 2 no-npe>KHeMy ocraeT-
cn cbo6oahhm. B BepcMM 2.2.6 McnpaB/ie-
Hbi o6Hapy>KeHHbie Ha ceroAHmiiHMM abhb
olum6km, npoBeAeHbi Aono/iHMTe/ibHbie
MaHMny/muMM c NASL m BK/noneH ynymneH-
Hbm cxaHep Nessus TCP — nojib30BaTe/inM
Nessus 2.2 HacTome/ibHO peKOMeHAyeTcn
npOM3BeCTM o6HOBiieHMH.
Boxpyr Nessus CKnaAbiBaiOTcn He TonbKO
HeraTMBHbie, ho m eno/iHe 6/iaronpMUTHbie
OTHOUJeHMH CneUMa/lMCTOB. C He6o/IblllOM
noAAep>KKOM ot Tenable Network Security
rpynna pa3pa6oTMMKOB Intevation GmbH
npeACTaBM/ia nepBoro KaHAMAaTa b pe/iM3
1.0.0 — NessusClient c rpacjDMMecKMM mh-
Tepc()eMCOM noA Xll/GTK, bosmowhoctumm
OAHOB peMeHHoro aanycxa HecKO/ibKMX 3a-
AaM, noAAep>KKOM coxpaHeHMn otmctob
b PDF, HTML, XML m ApyrMMM no/ie3HbiMM
C|)yHKUMHMM.
www.nessus.org
www.securityfocus.com
KopOTKOM CTpOKOI
Fedora Project, cnoHcnpyeMbiii Red Hat,
OTKpbiBaeT TecTHpOBaHHe nHToro no cueTy
AHCTpndyTHBa. TecTOBBin pejiH3 BKjnouaeT
MOAyjiBHBin XOrg, napo 2.6.15-rcl-git3,
KOMmniHTOp GCC 4.0.2, nocjieaHne HHTer-
pnpOBaHHBie cpeabi GNOME 2.12 n KDE
3.4.92, cjienoK Xen 3.0 jijul 1386, yjiymneH-
Hyio OTKpBiTyio BepCHio Java n 3Hamrrejib-
HBie H3MeHeHHH B ycTaH O B LLX h K e. Okoh-
HaTejibHbiH pejiH3 Fedora Core 5 aojixceH
cocTOiiTbcn 27 (J>eBpajiH 2006 roaa.
www.redhat.com
The GNU Image Manipulation Program, 6o-
jiee M3BecTHbiM KaK GIMP, otmctm/i CBoe
AeCHTM/ieTMe. llepBblM MCTOpMMeCKMM dHOHC
riMTepa MaiTMca 6bm CAe/iaH 21 Hon6pn
1995 roAa cneAyioiAMMM c/iob3mm: «GIMP
pa3pa6oTaH c ue/ibio npeAOcraBneHMn MHTy-
MTMBHoro rpac(3MMecKoro MHTepcfjeMca k pa3-
Hoo6pa3HbiM onepauMHM peAaKTMpoBaHMn
M3o6pa>neHMM». llepBan BepcMn, yBMAeBiuan
CBeT, MMe/ia HOMep 0.54.
www.gimp.org
Open Source KaK couMajiM3M
Hlen Araccn, ncnojiHHTejibHbin awpeKTop
SAP, noaBepr KpHTHKe aBHaceHne Open
Source, 3anBHB, hto oho He cnocodcTByeT
pocTy hobbix naen, HeodxoaHMbix jsjm pa3-
bhthh odiaecTBa: «Mbi Bee tobophm o tom,
HacKOJibKO xopoma Linux, ho ecjin bh
B 3rjMHeTe Ha CaMblH HHHOBaHHOHHblH
aecKTon, to yBnaHTe, hto Vista ot Microsoft
KonnpyeT He Linux, a Apple. Con;HajiH3M
B HHTeJUieKTyaJIbHOH COGCTBeHHOCTH (IP) —
xyarnee H3 Bcero, hto MoaceT cjiyuHTbca
B JHOdOM HH(J)OpMau;HOHHOM o6meCTBe...
Ecjih y Hac HeT nyreii a jih 3amnTbi IP, to
H eT H CMbICJia HHBeCTHpOBaTb B Hee». TaKHM
o6pa30M, Araccn nocjieaoBaji npHMepy
Emma TenTca, b Hanajie roaa Ha 3 BaBinero
pa 3 pa 60 THHK 0 B CBOdoaHOrO HO KOMMyHH-
CTaMH. TeHaeHiiHa HajiHao — Bcero 3 a roa
coodmecTBO peipeccHpoBano ao con;HajiH 3 -
Ma. Hto CKaacyr b cjieayiomeM roay?
CjiOBa Araccn Moaoro 6buio 6 bi nponycTHTb
mhmo ymeil, KaK h penn apyrnx npOTHBHH-
KOB, eCJIH He npHHHMaTb BO BHHMaHHe
BjiHHHne, KOTOpoe HMeeT SAP Ha HOByio
opraHH 3 au;HK) ESA (European Software
Association). Hmchho OHa nbiTaeTca opra-
HH 30 BaTb npoTHBoaeHCTBne nepexoay eB-
poneucKHx opraHH 3 au;HH h nydjiHHHbix
aaMHHHCTpau;HH Ha oTKpbiTbie pemeHHH.
www.news.zdnet.co.uk
npoeKT Mozilla.ru CTaji jiaypeaTOM npeMHH
PyHeTa 2005, ynpeacaeHHOH OeaepajibHbiM
areHTCTBOM no neuaTH h MaccoBbiM
KOMMyHHKaijHHM, 3aHHB nepBoe
MecTO b HapoaHOM rojiocoBa-
hhh, KOTOpoe npoaojiacajiocb
b TeneHHe 100 anem Mozilla.ru
BbipaacaeT rjiydoKyio npH3Ha-
TeJIbHOCTb BCeM, KTO npOHBHJI
BHHMaHHe k OTOMy npoeicry:
«3to Hama o6maa nodeaa, OHa
CTajia B03Moaara Gjiaroaapa Ha-
men ciuioneHHOCTH, npeaaHHO-
cth odmeMy aejiy».
B «HapoaHyio aecaTKy» nonaji h
pyccKOH3biHHbiH pecypc ohijhk-
jioneaHH ru.wikipedia.org.
www.premiaruneta.ru
4/2005 LINUX CHIP
6 notes
hoboctm coodmecTBa Open Source
HoBoe 3BynaHMe «A^bia»
0au/i flpaBKa Bud flepexod 3aK/ia9KU MHcmpyMeHmbi CnpaBKa
5 ) S [□ http:/ / www.altlinux.ru/content/view/138//
' r \) . "lepeumj , „
•I o |€>|€>
(□ ALT Linux - AL T Linux 3.0 Comp... Jj □ ALT Linux - ALT Linux 3.0 Comp... [|j_j LinuxRSP.Ru. Bee oB onepauuoHH... ’g GnomeFiles - GN0ME/GTK + Soft~] □
ALT Linux Team frecaourcc.info aiayphua.ru wiki.aiavphua.ru
.altlinux.ru lrn.ru openoffice.ru mozilla.ru
altflA
linux
ALT Linux 3.0 Compact: onwcamie pa3/umm?i Mexcay BepcMHMM, KOMn/ieiaauMH.
CMCTeMHbie Tpe 60 BaHMfl
Bepcnn ALT Linux 3.0 Compact
OnepauwOHHaa cwcreMa ALT Linux 3.0 Compact nocTaB.\sreTca b abvx Bepcnax: CD- w DVD.
noMCK noaltlinux.ru
Google™
| Mcxatb |
Han MeHOBaHne msaohmb
KonwMecTBO MOCMTenew
YnaxoBKa
HanMMMe neMaThoro py kobo act Ba
Han m 4 ne Kynona Ha no ny Me Hue
TeXHMMeCKOM nOAAepXKM
yCTaHOBKM
ALT Linux 3.0 ALT Linux 3.0
Compact, CD-BepcMB Compact, DVD-BepcMB
1 CD
slimea
1 DVD
DVD-Kopo6xa
1 nenaTHoe
py KOBO ACT BO
CucTeMHbte Tpe6oBaHnn ALT Linux 3.0 Compact
■ aaa DVD-Bepctnt naASHtta Tpe6yeTca npitBOA DVD c noAAepac xofi Dual Layer DVD (b DoAbuuiHcrnc
«npooAeMHbix» CAyuaeB AocraTOMHO oOHOBAemia npomuBKM npnBOAa)
■ npoueccop coBMecruMofi c Pentium III apxnTeKTyphi (peKOMeHAyeTca TaxTOBaa nacroTa He mixe
i rr.n
OxudaHue omBema c gnomefiies.org...
CaMblH OvKH^aeMLIH OTeHeCTBeHHblH R HC-
TpH6yTHB ALT Linux 3.0 Compact totob
k BCTpene co cbohmh ttoji b30 BaTeji a m n .
«ALT Linux 3.0 Compact — npocTan h
yaoOHaa onepauHOHHan cncTeMa jum
noBceAHeBHon paOoTbi, ocHOBaHHan Ha
nocjieAHHx pa3pa6oTKax KOMnaHHH ALT
Linux. B AHCTpnOymB BKinoneHO Bee He-
oOxoaHMoe nojib30BaTejno no Mam Hero
| - woman [ike a man (Li» | ► fji \ 'U D'l) t) l) zJ 1 — H < I <
KOMnbHDTepa, b tom hhcjic nporpaMMbi arm
paOoTbi b MHTepHeTe, o(J)HCHbie npnjioxe-
hhh, yTHjiHTbi jijui npocMOTpa h npocjiynm-
BaHHH MyjIBTHMeaHHHOH MH(J)OpMaHMM.
B Compact peajiH30BaHa noaaepxKa lhh-
pOKoro cneKTpa coBpeMeHHoro oOopyaoBa-
HHH, B TOM UHCJie npOIjeCCOpOB, MaTepHH-
ckhx roiar, BnaeoycKopHTejieH, npHHTepOB,
UHcJrpoBbix xaMep, cxaHepoB h t. a,» IIpoH3-
BoanTejiB OTMenaeT, hto b ouepeaHOM anc-
TpHOymBe nojiB30BaTejiH CMoryr onpo6o-
BaTb HOByio nporpaMMy ycTaHOBKH, no-
3HaKOMHTBC5T C CHCTCMOH HaCTpOHKH
ALT Linux Control Center, ocHOBaHHOH
Ha MoayjibHOH 6e3onacHoh miaTtjDopMe
Alterator, yace 3HaKOMOH TeM, kto ncnojib-
30Baji ALT Linux Sisyphus.
^HCTpHOyTHB COaepXHT HOByiO CTaOHJTbHyK)
Bepcmo aapa Linux 2.6.12, ipacjawecKyio
CHCTeMy XOrg 6.8.2, HHTerpHpOBaHHyio
epeay KDE h Maccy npmioxceHHH, Heo6xo-
aHMBix aoMamHeMy KOMnbtOTepy.
ALT Linux 3.0 Compact aociyneH Ha oaHOM
CD hjih DVD b KOpo6xe c nenaTHBiM pyxo-
BoacTBOM — b o6ohx cjiyuanx c KynOHOM,
aaiomHM npaBO Ha nojiyueHne TexHunecKoii
noaaep>KKH. PexoMeHayeMbie cHCTCMHbie
TpeOoBaHHH yioiaabiBaiOTcn b npoueccop
coBMecTHMoii c Pentium III apxHTeiaypbi
c TaKTOBOH nacTOTOH He HHace 1 TTh;, o6beM
onepaTHBHOH naMUTH — ot 256 MOanx
ALT Linux yace ae mo h CT pupoBaji a cboio
npoayKUHio Ha BbICTaBKaX «L(H(i)pOBOH
MHp-2005» h MTO-2005, rae Taioxe 6Buia
npeaocTaBjieHa bo3moxhoctb 03HaK0MHTb-
cn h c caM03arpyacaK)iaHMcn aHCTpH6ym-
bom ALT Linux 3.0 TravelCD, He TpeOyio-
1UHM ycTaHOBKH Ha XeCTKHH aHCK.
www.altlinux.ru
[1peAnpa3AHHHHafl
apTnoAroTOBKa
llepefl HOBoroAHMMM npa3AHMKaMM cnaMepbi
HamiHaiOT roTOBMTb nuaAAapM A-n^ cbomx
paccbmoK, co3AaBau HOBbie 30M6n-cein.
B MacTHOCTM, b Hou6pe Trend Micro o6Hapy-
>Kmia Tpn MOAHcjjuKauMM Linux-MepBu noA
Ha3BaHiieM Lupper. Oh cnyMaftHbiM o6pa30M
reHepupyeT IP-aApec m nbuaeicu aiaKoeaib
ero nan yu3BHMbiM Be6-cepBep. nepsau mo-
AMCpMKauMu coAep>Kaua tpouhckmm KOMno-
HeHT, C nOMOIAbK) KOTOporo 3/lOyMblLLl/ieHHMK
Mor ynpaBuuTb KOMnbiOTepoM Mepe3 OTKpbi-
Tbie nopTbi 7111 m 7222. flBa Apymx Bapw-
aHTa y>ne Hcnoub30Bauii CTaHAapTHbin Rna
30m6m MexaHM3M peBepCHBHbIX KOMdHAr Kor-
Aa 3axBaMeHHbiw KOMnbioTep cbm o6pau4aeT-
cn no yKa3aHHOMy 3axBamwKOM aApecy.
www.osp.ru
CHIP LINUX 4/2005
0 6 3 0 p bl , C 0 £j bl T M fl
7
yHMTbCn HMKOrfla He n03AH0
JlymiiMM noflTBep>KfleHiieM 3TOMy wspeMeHmo
uBjmeTcu cymecTBOBaHne MmepHeT-yHMBep-
CMTeTa MHCf)OpMai4MOHHblX TeXHO/IOniMI —
npoeKTa AHcraHAMOHHoro o6pa30BaHMH,
nepBoro b Pocc mm yqe6Horo 3aBep,emn r
B KOTOpOM TaKOM bma o6yqeHMH AOCTyneH
nio6oMy, TaK KaK nonyqaTb ero mo>kho 6ec-
ruiaTHO. CyeuiMBbi m m HepBHbm phtm noAro-
tobkm k 3 aMeiaM m 3 K 3 aM 6 HaM? 3a6yAbTe. Te-
nepb Bbi caMii peuiaeTe, KorAa roTOBbi otmm-
TaTbCB o npno6peieHHbix
3HaHMHX, K TOMy >Ke Bbl
BOilbHbl Bbl6l4paTb He-
CKO/ibKO KypcoB cpa3y —
6bmo 6 bi no CM/iaM. «3 to
TO ilbKO HaMa/ 10 . B03M0>K-
ho, Ha3BaHne Hauiero
npoeKTa noKaweTcn BaM
HeCKpOMHbIM, HO Mbl Ha
caMOM Ae/ie ciaBMM CBoew
Ae/ibK) co3AaHne yHMBep-
CMTeTa HHCf)OpMai4HOHHblX
TexHO/iorMM», — o6pama-
eicn k noceTMTejiHM pe-
cypca OAHH M3 dBTOpOB npoeKTa AHaTO/IMM
UJxpeA . MHTepHeT-yHMBepcMTeT npeA/iaraeT
c/iyuiaTeiiHM OTKpbiTbie Kypcbi no apxMTeK-
Type 3BM, MHc()opMaAMOHHOM 6e3onacHocm,
MHTepHeT- m ceieBbiM TexHonornuM, onepa-
AMOHHbiM CMCTeMaM (Solaris, Linux, Unix),
6a3aM AaHHbix, pa3pa6oTKe npn/io>KeHMM
(o6-beKTHo-opMeHTMpoBaHHoe nporpaMMM-
poBdHMe m nporpaMMMpoBaHMe b craHAap-
Te POSIX), CMCTeMaM nporpaMMMpoBaHMu
( C , C ++, Java , Pascal, PHP m ApyrMM) m Aa>Ke
Me/IOBeKO-MaiUMHHOMy B33MMOA6MCTBMK)
M COAMdilbHblM BOnpOCaM. OTKpbITOCTb
npeA/iaraeMOM moa^/im o 6 yqeHMn o 6 t>hc-
HneTCH TeM, mto «nio 6 bie, Aawe caMbie
COKpOBeHHbie 3H3HMH paHO MJ 1 M n03AH0
6 yAyT AOCTynHbi b CeTM».
MHTepHeT-yHMBepcMTeT MH(f)OpMaLlMOHHblX
TeXHOJlOTMM — 3TO MaCTHaU OprdHM3dL4MH,
KOTopan CT3BMT cneAyiomMe nenn:
► (|)MHaHCMpoBaHMe pa3pa6oTOK yqe6Hbix
KypcoB no TeMaTMKe MHcfrop-
MaUMOHHO-KOMMyHMKaUMOH-
HblX TeXHO/IOTMM*
► KOOpAMHaAMH yMe6HO-
MeTOAMMeCKOM ASHTe/lbHOCTM
npeAnpMHTMM KOMnbtOTep-
HOM MHAyCTpMM no C03AaHMK)
yqe6Hbix KypcoB no MKT;
► o6ecneMeHMe npoc|)eccop-
CKO-npenoAaBaTe/ibCKMx Ka-
APOB By30B M 6M6/1MOTeK
yMe6HMKaMM M MeTOAMMeCKM-
MM MdTepMdJIdMM;
► coAeMCTBMe opraHaM rocy-
AapCTBeHHOM B/iaCTM B o 6 iiaCTM pa3BMTMH 06 -
pa30BaTe/ibHbix nporpaMM, CBU3aHHbiM c mh-
CjDOpMaUMOHHblMM TeXHOJIOTMHMM.
l1pM3HaHMe INTUIT.ru npMuuio He3aMeA/iM-
TenbHO, m npoeKT CTa/i naypeaTOM HauMO-
Ha/ibHOM npeMMM Poccmmckom OeAepaunn
3a BK/iaA B pa3BMTMe pOCCMMCKOrO MHTepHe-
ia b HOMMHauMM «HayKa m o6pa30BaHMe».
y Bac ecTb >KejiaHMe? Bo3MO>KHocTb ywe
npeAOCTaB/ieHa.
www.intuit.ru
y)KecTOHeHHe
JlHHyc TopBajibAC npHipo3Hji pa3pa6oTHH-
KaM, HTO BHOCHMBie B nOCJie^HIOK) MHHyiy
H3MeHemiH co cjieAyiomeH BepCHH AApa hm
paccMaTpHBaTbCH He 6yAyr, a hx aBTopaM
oh ot JiyuiH nocMeeTCH b jihao. nocjieAHHH
BepCHH 2.6.14 nocTOHHHO OTKJiaflbiBajiacb
h BbiLLura jiHHib cnycTH MecHu; nocjie HaMe-
neHHoro cpOKa hmchho H3-3a ohih 6 ok, co-
AepacantHxcn b Kone, npeAOCTaBji en ho m b
caMbift nocjieAHHH momcht. KOMMeHTapHH
pa3pa60THHK0B, KaK BOAHTCH, pa3ACJIHJIHCb.
Oahh ocTajiHCb AOBOJibHbi xcecTKHM peraa-
MeHTOM pa6oTbi, Apyrne noceTOBajiH Ha to,
periiaMeHTa
hto TaK xopomo b TeopHH, a Ha npaKTHKe
MHoroe 3aBHCHT eme h ot Tex, kto noAro-
TaBjiHBaeT hm pa6oTy takhm o6pa30 M, hto
yjIOXHTbCH B KOpOTKOe BpeMeHHoe OKHO
cjiohcho. B OTBeT TopBajibAC peKOMeHAyeT
HaAaBHTb Ha TaKHx homolhhhkob h b no-
Ao 6 hbix cjiynanx BOo6uxe ocTaHaBjiHBaTb
hx pa6oTy, Aaean TeM caMbiM ce6e bo 3 moxc-
HOCTb noAaBaTb MaTepHajibi b cpOK.
«J1 k)ah nocTOHHHO xcajiyiOTCH, hto h CTa-
hobjhocb cjihhikom mhtkhm. Tojibko He
ceHnac», — OTMeTHji TopBajibAC.
news.zdnet.co.uk
KopOTKOH CTpOKOI
C++ CBeprayr c Heo(J>Hu;HajibHoro TpOHa
kopojih SourceForge. BepniHHy 3 aHHjr Java.
MaTC TeHpHHCOH ony 6 jiHKOBaji pe 3 yjibTaTbi
noAcneTa KOJinnecTBa npoeKTOB, BeAOMbix
Ha pa 3 Hbix H 3 biKax, KOTOpbie pa 3 AejiHjiH
nepByio mecTepKy cjieAyfomHM o 6 pa 30 M:
1 . Java — 16 738 npoeKTOB;
2 . C++ — 16 731 npoeKT;
3 . C — 15 934 npoeKTa;
4 . PHP — 12 175 npoeKTOB;
5 . Perl — 6209 npoeKTOB;
6 . Python — 4542 npoeKTa.
www.jroller.com
no eAMHOAywHOMy , ho He npocTOMy MHe -
hmk) 3KcnepT0B ZD Net , nyMUJMM AecKTonoM
Aim Manoro 6M3Heca npM3H3H Ubuntu Linux
5 . 10 . Ha «onepaAMOHHbiM ctoj\» BMecTe c
hmm nona/iM Mandriva Linux 2006 , Novell
Linux Desktop 9 , Red Hat Desktop 4 m SUSE
Linux 10 . B oueHKy bxoamum TaKMe KpuTe-
pMM Kan coeAMHeHMe noMTOBoro \uwiema
c cepBepoM Microsoft Exchange , nenaTb Ha
ceTeBOM npMHTepe m ycTaHOBKa cny > K6bi
o6MeHa MTHOBeHHblMM C006meHMHMM .
reviews.zdnet. co. uk
ASPLinux cobmcctho c cJmpmoh 1C npOBe-
jia axuHio no CHHxceHHio u;eH Ha KopoOon-
Hbie BepCHH AHCTpHGyTHBa ASPLinux 10.
HanHHan c 7 hohGph KOpo6Ka c caMbiM
nOJIHbIM BapHaHTOM AHCTpH6yTHBa —
ASPLinux vlO Deluxe — ctoht 999 py6-
jien, a KOpoOxy c BapnaHTOM ASPLinux
vlO Standard moxcho npnodpecTH 3a
499 pyGjien, npH otom a+u ncex BepCHH
TexHHHe ckah noAAepxcKa ocTajiacb b npe-
Aejiax npexcHero odbeMa. B cjiynae OTcyr-
ctbhh AHCTpudyTHBa b Mara3HHax no ho-
bbim ueHaM ero moxcho KynHTb Ha caiiTax
www.softkey.ru
www.asplinux.ru
4/2005 LINUX CHIP
8 notes hoboctm cootim
BeiiopyccHn naeT no
KHTaHCKOMy nyTM?
Kma m 06/iaflaeT caMOM coBepuieHHOM b mm-
pe cucTeMOM ueH3ypbi b MmepHeie, mo
caMO no ce6e HeyflnBme/ibHo nnn crpaHbi,
rfle a awe Aocryn k MH$opMauMM CMMTaeTcn
cc|}epoM rocyAapcTBeHHbix MHTepecoB.
«BennKnn KmancKnn firewall» BK/uoMaeT
b ce6n annapaTHbie cpeACTBa Kompo/in ao-
dyna rpa>KAaH k coAsp>KMMOMy Cem 3a CMeT
cpiinbTpauMM TpacpMKa — no coo6meHMflM
pa3/inMHbix MHCpopMaunoHHbix pecypcoB,
nMeHHO k hum nponBMjiM MHTepec 6e/iopyc-
CKiie B/iacTM. noApo6HocTM b Hacromuee
BpeMB HeM3BeCTHbl — B03M0>KH0, CMTyaUMfl
nponcHMTcn nocne AeKa6pbCKoro BM3MTa
pyKOBOACTBa Benopyccnn b Kma m, OAHaKO
Tpeeora ocraeTcn...
www.gazeta.pl
www.securitylab.ru
EbiTb m eAMHOMy
ciaHAapiy Linux-mobile?
PalmSource h Orange ot France Telecom
obbHBjimoT o Hanajie coBMeemoH pa6oTBi
no CTaHaapTH3anHH HHTepcbenca Linux nm
cotoboh cbh3h. B cjiyuae ycnexa cok>3hhkh
npe^nojiaraiOT 0Ka3aTL cymecTBeHHoe bjih-
BHne Ha pbihok h cocTaBHTB KOHKypeHn;HK)
Microsoft h Symbian. B tom xce HanpaBjie-
hhh paboTaiOT FSM Labs c Motorola h
MontaVista Software — c o#hoh ctopohbi,
h Open Source Development Lab (OSDL)
c cobcTBeHHBiM npoeKTOM Consumer
Electronics Linux Fomm — c npyron.
www.news.com
c t b a Open Source
KaapoBan n on hth K a :
Yxoahlhhh roa npHHec HeMajio ciopnpH30B
b OTHomeHHH KaapOBBix nepeMeH. B uiOHe
cToaBumn y hctokob Gentoo flaHnejib Pob-
6 hhc nepemeji Ha paboTy b xopnopaamo
Microsoft, ocTaBHB Bee HMeiomnecn y cebn
npaBa Ha jioroTHnbi, cueHapHH ebuild h
apyryio KHrejuieKTyajibHyio cobcTBeHHoerb,
npoHHO CBH3aHHyio co cbohm AerameM, Op-
raHH3au;HH Gentoo Foundation, a Ha hobom
M ecTe CTaji 0Ka3BiBaTB «noMOLUb b noHHMa-
hhh Open Source h npoeKTOB coo6uxecTBa».
OKTnbpb 0T03BajiCH 0TKB30M Bo6a Rirra ot
M ecTa b npaBjieHHH Red Flat, kotopbih no-
kto, oTKyaa, noneMy?
cbhthji cebn npoeKiy Lulu.com Ha hobom
He3aBHCHM0M nybjiHKau;HOHHOM ceTeBOM
pbiHKe, a Beab hmchho Rht 6bui b 1993 roay
coocHOBaTeneM KOMnaHHH.
B Honbpe H3 SUSE yineji XbiobepT MaH-
Tejib, oaHH H3 ocHOBaTejieft SUSE Linux.
DiaBHoir npHHHHon oh Ha3Baji pacxoxae-
hhh c amcryeMbiM HanpaBjieHHeM pa3BH-
thh h pa30uap0BaHHeM b HbiHemHHx naenx
KOMnaHHH, He cooTBeTCTByionarx TeM, hto
b SUSE pa3aejuuiH 13 jieT. PaHee, b Mae,
KOMnaHHio noKHHyji Pnnapa 3enbT, 6 bib-
uihh npe3HaeHT SUSE Linux.
He obxoaHTcn 6e3 noTpaceH nu h b xopno-
paaHH Microsoft, /(oh TaHbe, oaHH H3 Be-
ayuinx pa3pa6oTHHKOB Microsoft Office, 3a-
hbhji 06 0TKa3e ot aaJibHemneH pa6oTbi b
nojib3y CBoero yBjieueHHH aBToroHKaMH,
HTO 6bUI0 BOCnpHHHTO pyKOBOaCTBOM KaK
HeBOcnojiHHMan noTepn. EaHHCTBeHHbiM
yremeHneM CTaji tojibko tot cJiaKT, hto
T aHbe He nepexoanT Ha paboTy b Google.
KpoMe Hero Microsoft k KOHiiy cjreayiome-
ro roaa noKHHeT KpecTHbift OTeu; Windows
/(}khm Ojihhh. Bojibme He paboTaiOT b
K opnopaunn Yopa KaHHHHreM, H3obpeTa-
Tejib Wiki, a TaioKe Xaan napTOBH, H3Be-
CTHbiir cbohm yuacraeM b «bpay3epHbix
BOHHaX» B KOHHe 90 -x H HHHHHaTHBaMH
nopTajia MSN.
ilyniue MeHbiue, a a ziyniue
OaHMM M 3 TiiaBHblX AOBOAOB, KOTOpbIM
npeAi>nBiimoT nonb 30 Baienn, He cnewaiAMe
nepexoAmb c Windows Ha Linux, neaneicn
noAAep>KKa pa 3 /iMMHoro obopyAOBaHMn one-
paAMOHHOM CMCTeMOM ot Microsoft. flecKaTb,
3aneM MewiTb cpeay obmaHMn, xoraa b Hew
pa 6 oiaiOT Bee ycrpoMCTBa, m noABepraib
ce 6 n pi/icKy B 03 HMKH 0 BeHMn npobneM b
hobom onepauMOHHOM CMdeMe? ApryMeHT
cepbe 3 Hbm, 6 eccnopHo, ho He CTO/ib oa-
H 03 HanHbiM. Bo-nepBbix, Ha ciopoHe Linux
no/iHan npospaMHOCTb b OTHomeHMM Toro,
KaK pa 6 oiaeT ApaMBep KaKoro-nubo ycipoM-
CTB 3 , a T 3 K>Ke TO, K 3 KMM o6pa30M OH C 03 AaH.
Bo-BTOpbIX, Linux MMeeT MHO>KeCTBO BCTpO-
eHHblX MeTOAOB TeCTMpOBaHMB HeKOppeKTHO
HacTpoeHHoro o 6 opyAOBaHMn m ero mohmto-
pMHra (aoct3tomho B 3 rnnHyTb xotb 6 bi Ha
BbiBOA Ispci m/im dmesg). HaKOHeu, mto Ae-
naTb b tom c/iynae, ec/iM c Bain mm o6opyAO-
BaHMeM He cnpaBM/iacb m Windows? KoHen-
ho, 3to bonbuian peAKOCTb, OAHaKO ec/iM
3to Bee >Ke cnyMM/iocb, 6yAbTe yBepeHbi, mto
Microsoft CMO>KeT noMOMb BaM — 3a $129 b
Mac. B CTO/ib 3KCTpeMa/ibH0M c/iyMae b Linux
c ropnuteM noA HoraMM 3eM/ieM Bbi MO>KeTe
OOpaTMTbCB 3a nOAAep>KKOM M nOMCKOM pe-
ineHMn npo6/ieMbi b LKML (Linux Kernel
Mailing List). HaKOHeu, ecTb npocTOM mo-
MeHT, noMeMy-TO ynymeHHbm aBTopoM MaTe-
pMana Ha pcburn.com, KOTopbiM Bcero-To
m 3aKmoMaeTcn b tom, MTo6bi cnpaBMTbcn
o noAAepwKe CBoero obopyAOBaHMn Ha ao-
MauiHeM CTpaHMue toto AMCTpM6yTMBa, ko-
TopbiM Bac 3aMHTepecoBan.
www.pcburn.com
CHIP LINUX 4/2005
0 6 3 0 p bl , C 0 6 bl T M H
9
Tpn H3MepeHHn Ha padoneM do/ie
■ ' I ’
SlF* It ~
)3V3 {ava Technology
fawn Vodafone
Mobile Games
Worldwide
IlpHHeceT jih HacTynaiomHH roa 3D Ha
padoann ctoji nojib30BaTejiH, noxaaceT, ko-
HenHO, BpeMn. npomo3Bi — aejio Hedaa-
roaapHoe. A bot Ha Bonpoc, mo>kho jih ya<e
ceroaHa npHCMOTpeTBCB k aeMy-Hndyab
aaaKOMy, OTBeaaeM yTBepaHTejibHO.
Project Looking Glass — OTKpbiTaa naaT-
4)opMa ana HccjieaoBaHHH HHHOBauHOH-
Horo TpexMepHoro nojib30BaTejibCKoro
HHTeprjieHca (ttp://lg3d-core. dev.java.net)
Texymaa Bepcna — 0.7.1, aocTyneH h ca-
M03arpy3caiomHHCn ancTpHdyraB LG 3D
LiveCD b BepCHH 2.3. IIaaT(j)opMa ocHOBa-
Ha Ha TexHOJiomH Java, OTKpbiTa h 6epeT
Hanajio b Heapax Sun Microsystems, flnc-
TpndyTHB noaaepacHBaeT 3anycx h padoTy
aaace HeMoaH(J)HUHpOBaHHbix npHaoaceHHH
b TpexMepHOM OKpyaceHHH. CymecTByio-
ma a b HacTomaee Bperna HHTerpauna npH-
aoaceHHH noaaepacHBaeT Linux h Solaris Ha
x86-iuiaT(i)opMax, cpeaa pa3pa6oTKH 110
BKJHonaeT eme h noaaepacxy Windows.
IlpoeKT OTKpbiT arm CBeacnx Haeft: aBTOpbi
CHHTaiOT, hto aocTyn Bcero coodmecTBa
k HexoaHbiM TeKCTaM npoeKTa — jiynniHH
cnyTHHK Ha nyra k otkpbithio «BOJiHyio-
HJHX H rpaHaH03HbIX B03M02CH0CTeH».
Open Croquet — www.opencroquet.org. 3tot
OTK pbiTbiit npoeKT, KaK h Looking Glass, He
orpaHHHHBaeTcn npocTO 3D, a aodaBjiaeT k
H eMy nepcneKTHBHbie bo3moxchocth coBMe-
cthoh padom cpa3y hcckojibkhx nojib30Ba-
Tejieit b oaHOM TeaeMeTpHHecKOM npocTpaH-
CTBe, hto yBejiHUHBaeT ero «ceTeBoit Bec».
ApxHTeiaypa CHHxpoHH3au,HH rapaHTHpyeT
HeMeaJieHHoe OTpaaceHne Bcex aeiicTBHH
pa3Hbix nojib30BaTejieH b TpexMepHOM OKpy-
aceHHH. 3aecb paspadoTHMKH cocpeaoTOHM-
JIH BHHMaHHe H Ha B3aHM0aeHCTBHH B peacn-
Me peajibHoro BpeMeHH. rpa^HnecKan 6a3a
Croquet — OpenGL, cpameHHbiH co CKprni-
tobbim H3BIK0M. B ocHOBe Croquet aeacHT
cJiyHaaMeHTajibHaa naea pa3pa6oTKH aocTa-
TOHHO mdKOH cpeabl, B KOTOpOH M03CH0
6e3 Tpyaa h cepbe3Hbix BpeMeHHbix 3aTpaT
BoiuiOTHTb aiodoe npeacTaBjieHHe o ipa(J>H-
necKOM HHTeprjieHce. «Ilpeaejibi 3 toh chctc-
mbi paBHbi npeaejiaM BOodpaacemia», —
yraepacaaiOT ee aBTOpbi.
Metisse (http://insitu.lri.fr/metisse) — npo-
eKT He MeHee HnrepecHbiH, neM npeabiay-
uine. Bo-nepBbix, pa3padoTHHKH He CTaBHT
nepea codon 3aodaaHHbix uejreh, aaace npe-
aocTeperaiOT ot codjia3Ha Ha3BaTb pe3yabra-
tbi hx padora padoHHM ctojiom b 3D. Byx-
BaJIbHO: Bbl BHaHTe He TO, HTO Bbl BHaHTe,
3T0 TOJIbKO OCHOBaHHan Ha X OKOHHaa chc-
TeMa c npHHunnnajibHO hobbimh bo3mo>kho-
cthmm ynpaBjieHHa, noaaepacHBaiomaH Bee
MbicjiHMbie b npeaeaax Tpex oceit KoopaHHaT
MaHnnyjiauHH. Abtopbi He npeaaaraiOT ho-
boto aecKTona, cxopee 3to HHCTpyMeHT arm
coaaaHMH hobbix THnoB OKpyaceHHa pado-
nero CTOJia. B TexHHnecKHx noapodHOCTax
Metisse npeacTaBjiaeT codoit eoBOKynHOCTb
HHCTpyMeHTapHH nucleo, Xserver, Tight VNC
h okohhoto MeHeaacepa FVWM, CHOBa oxa-
aaBmeroca 3aMenaTejibH0H naarcjiopMOH ana
Boiuiomemia caMbix CMeabix naeh (BcnoM-
HHTe Symphony, fVwm-crystal). IIpeaBapH-
TeabHaa Bepcna cncTeMbi aociynHa ana
CKaaHBaHHa, a cobccm cxopo oacnaaeTca
Bbixoa hoboh, yace npoaeMOHCTpnpOBaHHOH
Ha npomeameM b KOHne OKTadpa BoceMHaa-
uaTOM CHMno3HyMe no nporpaMMHpOBaHHio
h TexHoaornaM noab30BaTeabCKoro Hnrep-
(jieiica UIST 2005 b CnaTae. CeroaHa pa3pa-
doTHHKH HMeiOT Xmetisse — cepBep Metisse
arta npnaoaceHHH X Window, Xmetisse -config
h/hth Xmetisse.pc (arm pkg-config), no-
apodHoe onncaHHe npOTOKoaa Metisse h
Hadop CKpnnTOB, odaeraaiomHx 3anycK h
H acTpoiiKy Xmetisse (reoMeTpna, raydHHa
h np.). Bo3mo3cho, HeB3paHHbih Ha chhmkc,
Metisse nopa3HT Bame Boodpaacemie, npea-
CTaB booh n jo, a c HacTpoiiKOH BHemHero
BHaa FVWM cnpaBHTca aiodon nbiTHHBbiH
noab30BaTeab.
Ceprew Mopo3
4/2005 LINUX CHIP
10
success story
KOMMyHHKaUHM
AneKceri XypacKMH
Tfle 6bi Mbi hm HaxoflM^ncb, Bcerfla xoneTot 6biTb b xypce noc/ieAHMX co6bm/m
m 3HaTb nporH03 noroflbi Ha c/ieAytoiAMM AeHb. B/iafle/ibpbi CMapic|DOHOB
peiuatoT 3tot Bonpoc npocro: b hx TejiecjDOHax ecTb 6pay3ep, KOTopbm MO>KeT
npocMaipHBaTb /ito6bie Be6-dpaHMAbi c noMombio GPRS. 06/iaAaTe/iflM
TejiecjDOHOB 6o/iee npocTbix MOAe/ien npi/ixoAMTOt McxaTb Apyrtie ny™.
IlepBoe, hto npHxoAHT b rojiOBy, — BOcnojib30BaTbcn WAP, 6jiaro
ero noAflepxcxa ecTB nonra b ksckrom Tejiec})OHe. OaHaxo nocjie
HeaejiH HcnojiB30BaHiM ot 3Toro pemeHHii xoueTcn OTKa3aTbcn:
Tapn(J)HKaij;iiH noMHHyrHan, ckopoctb coeaHHemra He npeBbiina-
eT 9600 6ht/c, a aem>i h BOBce KycaiOTCii. 3auacTyio MHHyra cbh-
3H CTOHT CTOJIBKO 3C e, CKOJIBKO MHHyTa oOmeHHH C aOOHeHTaMH
ropoflCKoii ceTH. Tyr yac He ao BayMUHBoro htchkh!
BMecTO 3Toro HeKOTOpBie onepaTOpti coBeTyiOT nojn>30BaTbC5i
ycjiyroH GPRS + WAR npeanoaceHne pa3yMHoe, ho npn aHajnoe
pacijeHOK BBiacHiieTCii, hto npoBaH^epBi nocTapajincB caejiaTb
HX TaKHMH, HTO BBirO^a RJISL a 60 HeHTa BBirjIHAHT OHeHB COMHH-
TejiBHOH. B pe3yjiBTaTe oh BbiHyacaeH njiaTHTB ropa3ao Gojibine,
neM ecjiH 6 bi nojib30Bajicn CMapT(J)OHOM h oGbihhbim 6pay3epOM,
oroiaunBan TpacjmK GPRS. HtoGbi noHHTb, noueMy 3 to nponcxo-
#ht, h nonBiTaTBCH ycTpaHHTB HecnpaBe^JiMBOCTB, Haao pa30-
OpaTBCH b ocHOBax paOoTBi GPRS + WAP
| KaK pa6oiaeT WAP? |
WAP (Wireless Application Protocol) — npOTOKOJi nepeaaun aaHHbix
no 6 ecnpOBO#HBiM ceraM c oueHb orpaHHueHHOH nponycKHon cno-
coGhoctbk). OzmaKO b OTjinuHe ot HTTP hjih FTP oh He aocTaBjraeT
coaepxcHMoe cairroB HanpaMyio c cepBepa Ha TejiecjDOH, a TpebyeT
npOMexyroHHoe 3 BeH 0 — WAP-iiljik)3 (b aHrjiHHCKOH TepMHHOJio-
ran — WAP-Gate). MnHH- 6 pay 3 ep Ha TejiecjDOHe HcnojiB 3 yeT iiljho3 b
KanecTBe nocpeaHHKa npn odpameHUH k canraM. npn 3tom ihjik)3
06 Men h BaeTCH aaHHbiMH c Tejie<J)OHOM no npOTOKOJiy WAP, a c can-
tom — no HTTP 3to obycjiOBjieHO TexHHuecKHMH npHUHHaMH:
HTTP 6 btJi H 3 HanajibHO co 3 aaH jsjm KOMnbiOTepOB c MOLHHbiMH npo-
ueccopaMH h ihhpokhmh KaHajiaMH cbh3h, ho Bcero ototo y Tejie-
(Jdohob HeT. no toh ace npHHHHe rjw Tejie(J)OHOB He noaxoanr
HTML. Ero mOxocTb h cnoacHOCTb World Wide Web Consortium
(www.w3c.org) npHHec b acepTBy CTporocm h npocTOTe, pa3pa6oTaB
hobbih H3biK pa3MeTKH — WML (Wireless Markup Language).
Hmchho TaKHM UIJH030M HaM aaeT nojib30BaTbcn onepaTOp,
Koraa TpedyeT roiaTy 3a ycjiyry GPRS + WAP 06 bihho b pyxoBoacT-
Bax no HacTpOHKe TejiecjDOHa ero o6o3HauaiOT npeaejibHO npocTO h
hcho — «IP-aapec». flaBaiiTe HacrpoHM uljho 3, obecneunB npaKTH-
necKH decmiaTHbiH aocTyn k WAP-pecypcaM! Beau aaace npn ax-
THBHOM exeaHeBHOM npOCMOTpe HOBOCTeii, HTeHHH aHeKaOTOB H
nporao30B noroabi TpaTHTcn He donee 1 M6anT TpacjmKa b Mecan;.
YcraHOBKa M HaCTpOMKa lU/lK)3a
HaM noHaaodHTcn cneanajibHO npeaHa3HaueHHaa rjw 3Toro npo-
rpaMMa kannel (www.kannel.org). nocjieaHna Bepcnn Ha MOMenr
HanncaHHii CTaTbH — 1.4.0. flajiee npHBeaeHa nocjieaoBaTejibHOCTb
aeHCTBHH rjw ASPLinux 10, ho hx moxho c jierKOCTbio pacnpocT-
paHHTb h Ha jho6oh apyroii ancTpHbyraB. Co3aaanM hoboto nojib-
30BaTejin kannel. B aaJibHenmeM 6yaeM padoTaTb ot ero hmchh.
CxanaeM h pacnaxyeM ncxoaHbie TexcTbi:
$ mkdir /usr/arc/kannel && cd /usr/arc/kannel
$ wget -c http://kannel.Org/download/l.4.0/gateway-l.4.0.tar.bz2
$ tar -jxvf gateway- 1.4. 0.tar.bz2
$ cd gateway- 1.4.0
3anycTHM CKpnnT ./configure co cjt eay io ux u m n napaMeTpaMH:
► --disable-docs — otkjhohhtb c))aujTbi aoKyMeHTaunn. OnbiT no-
Ka3biBaeT, hto npn cbopKe aoKyMeHTaann ycTaHOBHTcn dojibinoe
CHIP LINUX 4/2005
ycTaHOBxa m h a c t p o ii k a WAP-wjiiosa
11
kojihhcctbo AonojiHHTejiLHbix naxeTOB, SHaHHTejibHO npeBbimaio-
mnx no o6beMy yace roTOBbie (j}aHJibi, KOTOpbie moxho nojiyuHTb Ha
canTe np0H3B0AHTejiH.
► --enable-localtime — OTMeuaTb b jiorax jioKajibHoe BpeMH, a He
no rpHHBHny.
► --disable -sms — otkjhouhtb bo3mo3choctb OTnpaBKH SMS. jih
paboTbi 3 toh omaHH noTpebyeTcn AOCTyn k SMS-ijempy onepaTO-
pa, KOTOporo y Hac b AaHHbin MOMenr Hen
Tenepb cobepeM h ycTaHOBHM HcnojiHHeMbie (J)aiijibi b KaTajior
/usr/arc/kannel/bin/:
$ make
$ sudo make bindir = /usr/arc/kannel/bin install
CHHTaKcnc KOH(J)Hrypau;HOHHoro c^aHjia ouem> npocT h ueM-
to HanoMHHaeT <J>aHJi KOHcfmrypaijHH Samba. Becb c[)aHJi pa36nr
Ha Tpn nacTH, KOTOpbie othochtch k pa3HbiM KOMnoHeHTaM kan-
nel: bearerbox (ochobhoh komhohcht nuiKm), wapbox (xoMno-
HeHT, OTBenaiomHH 3a noAAepacKy WAP) h smsbox (MOAyJib noA-
AepxKH TpaHcnopTa SMS). Ero mbi Hcnojib30BaTb He 6yAeM, no-
3TOMy cooTBeTCTByiomyio ceKu;HK) ocTaBHM nycTOH. Kax^an
nacTb HanHHaeTcn co cjiOBa group. KoMaH^a a = b npHCBaHBaeT
nepeMeHHOH a 3HaueHne b, a ecjin b CTpoxoBoro Tnna, 3HaueHne
CJieflyeT 3aKJIK)UHTb B KaBBIUKH. CTpOKH-KOMMeHTapHH HaHHHa-
iotch co 3Haxa «#». Co3flaflHM nycTOH c^ata /usr/arc/ kannel/kan-
nel.conf cjieAyiomero coAepxaHHn:
# OcHOBHaa rpynna
group = core
# nopT h napojib ajia ynpaBjieHna kannel
admin-port = 13000
admin-password = password 1
# nopT, k KOTopoMy byayT noAKjnonaTbca wapbox
wapbox-port = 13002
# napojib A 3 a npocMOTpa CTaTyca mjno3a
status-password = password2
# cnncoK pa3pemeHHbix xoctob AJia AOCTyna k mjno3y
# aApeca OTAejiaiOTca Apyr ot Apyra tomkoh c 3anaToii, «*» 03Ha-
aaeT jiio6oh aApec
box-allow-ip = "*"
udp-allow-ip =
# HMa (|)aii. ia ajih 3anncn jioroB
log-file = M /tmp/kannel.log M
# ancjiaMH ot 0 ao 5 byAyr perncTpnpoBaTbca Bee co6mthh,
# ypoBeHb KOTopwx He hhjkc ycTaHOBjieHHoro
# peKOMeHAyeTca nocTaBHTb 0 Ha arane hhctpohkh,
4 — npH HCnOJlb30BaHHH
log-level = 0
# hmh (])aHJia ajih peracTpauHH coobmeHHii o AOCTyne k cepnepy
access-log = 'ytmp/kannel.access.log M
# HHTep<J)eHC, KOTopbiii byAeT «cjiymaTb» kannel
# ynaaoiTe 3Aecb miewimii IP-aApec cepsepa, Ha KOTopbiii byAyr
npnxoAHTb 3anpocw
# (JjopMaT TaKoii ate, Kan y napaMeTpa "box-allow-ip"
wdp-interface-name = " 111 . 111 . 111 . Ill"
# rpynna wapbox
group = wapbox
bearerbox-host = localhost
log-file = "/tmp/kannel.wap.log"
3accb HaAO CAejiaTb hcckojibko aobojibho BaacHbix 3aMeuaHHH.
Kannel, xax bbuio CKa3aHO, coctoht b HarneM cjiyuae H3 AByx mo-
Ayjien — bearerbox h wapbox. K OAHOMy HMeiomeMyca wapbox
MoaceT bbiTb noAKJHoneHO hcckojibko bearerbox. HanpHMep, rjw
Toro HTobbi pacnpeAejiHTb Harpy3xy Ha cepBepHyio MamHHy, Moac-
ho pa3MecTHTb bearerbox Ha oahom cepBepe, a wapbox — Ha Tpex
Apyrnx. /(npeKTHBa bearerbox-host b rpynne wapbox yKa3biBaeT,
Ha KaxoM KOHKpeTHOM cepBepe paboTaeT wapbox h k xaxoMy H3
hhx cjieAyeT noAKJiiouaTbCH.
HacTajio BpeMH npOBepnTb, Bee jih mbi npaBKJibHO CAejiajin. 3a-
nycTHM bearerbox h wapbox c MaKCHMajibHbiM ypoBHeM OTjiaAKH b
pa3Hbix TepMHHajibHbix OKHax:
$ /usr/local/sbin/bearerbox -v 0 /usr/arc/kannel/gateway-
1.4.0/kannel.conf
$ /usr/local/sbin/wapbox -v 0 /usr/arc/kannel/gateway-
1.4.0/kannel.conf
MofiwibHoe ycTpoMCTBO KomeHT-cepBep
IlpMHuwiMajibHafi cxeMa pafioTbi c npoTOKOJiOM WAP nepe 3 mm
He npaBAa jim yAofiHO BcerAa meib noA py-
kom nociieAHMe hoboctm m cboakm noroAbi?
4/2005 LINUX CHIP
12
success story
KOMMyHMKaUHH
BHHMaTeJIbHO npOCMOTpHTe BbIBOa 3THX XOMaH£. /l,OJDKHbI IIO-
HBHTbCH C006meHHB TOJIbKO TKTIOB INFO H DEBUG. ECJIH Bbl BH£H-
Te coo6meHHH ERROR hjih TeM 6ojiee PANIC, to nocTapanrecb Hafi-
th npHHHHy. 3 to motjio np0H30HTH, HanpHMep, ecjni bbi HenpaBiuib-
ho yxa3ajm anpec HHTepc^eHca b nepeMeHHOH wdp -interface -name.
fljin npOBepKH pa6oTOcnoco6HOCTH Been cbh 3 xh b ijejiOM
ncnojib3yeTcn SMyjiHTOp WAP-KjineHTa fakewap, bxoahhjhh b co-
CTaB kannel. B TpeTbeM TepMHHajibHOM OKHe nepen^HTe b xa-
Tajior c hcxoahbimh TexcTaMH kannel n 3anycTHTe cjie^yiomyio
KOMaH^y (BMecTO 3HaneHHH 111.111.111.111 Bnamnie a^pec cep-
Bepa, Ha kotopom padoTaeT wapbox):
$ test/fakewap -g 111.111.111.111 wap.rbc.ru
Ecjih bbi BH^HTe Ha^nHCb «fakewap complete» — mjno3 paboTaeE
Co3AaAHM npocTon CKpnnT rjw 3anycxa nuixm cjieAyiomero
coAepxaHHH. Ecjih bbi xothtc, HTobbi ihjho 3 3anycxajicii npH crap-
Te CHCTeMbi, ao6aBbTe nyrb k CKpHmy b xoHen; (jianjia /etc/rc.local:
# !/bin/bash
sudo -u kannel /usr/local/sbin/bearerbox -y 5 -d -P
/usr/arc /kannel/gateway- 1.4.0 /kannel. conf
sleep 3
sudo -u kannel /usr/local/sbin/wapbox -v 5 -d -P /usr/arc/kan-
nel/gateway- 1.4.0/kannel.conf
Kax bbi, HaBepHoe, 3aMeTHjiH, AobaBHjiocb a napaMeTpa. Ila-
paMeTp -d 3anycxaeT cepBHCbi b BH^e ^eMOHOB. Btopoh, aonojiHH-
TejibHbiH, napaMeTp -P obecnemiBaeT aBTOMaTHnecxHH nepe3anycx
cepBHca b cjiynae ero xpaxa. K cojxajieHHio, 3to HyxnbiH apryMeHT.
EbiBaeT, wapbox «naaaeT» ^axe ot cxamipoBamiH nopTOB c noMO-
njbio nmap. TpexcexyHjiHaH nay 3 a Meacay 3 anycxoM bearerbox h
wapbox HeobxoaHMa, hto6bi bearerbox ycneji npOHHHLpiajiH 3 Hpo-
BaTbca, nepea TeM xax wapbox HanHeT x HeMy noaxaionaTbca.
| HacipoMKa Tejiec|)OHa |
fljia paboTbi co CBeaceHacTpoeHHbiM iiijho30m Haao noaxoaamHM
o 6 pa 30 M noaroTOBHTb TejiecjiOH. IloapobHoe pyxoBoacTBO bbi mo-
jxeTe HaHTH Ha caifre CBoero onepaTopa h BbicTaBHTb Bee HacTpon-
xh comacHO ero pexoMeHaaiimiM. H 3 MeHHTb Hyxno jinmb oaHH
napaMeTp — b oaHnx annapaTax oh Ha 3 biBaeTca «IP-aapec», b apy-
thx — «iiljho3». CaejiaiiTe ero paBHbiM IP-aapecy cepBepa, Ha xoto-
pOM ycTaHOBjieHa kannel. Tenepb Bbibepnre GPRS xax npeanonra-
TejibHbiii cnocob coeaHHeHiw. TejiecjiOH totob x paboTe!
noC/ieflHUM HIOaHC
HTax, Tenepb y Bac ecTb nojiHO(J)yHxij;HOHajibHa 5 i 3 aMeHa WAP-
mjiio 3 y onepaTopa. Om He TpebyeT aeHer, ee paboTa 3 aBHCHT tojibxo
ot Bac, hto, comacHTecb, HeMajiOBaacHO. Ocobo cjieayeT otmcthtb,
HTO HCn 0 JIB 30 BaHHe 3 TOTO IIIJII 03 a abCOJIIOTHO 3 aXOHHO H He Hapy-
rnaeT ycjioBHH xoHTpaxra. OaHaxo b xanecTBe Mepbi npeaocTOpoac-
hocth He ctoht nybjiHxoBaTb ero IP-aapec, noTOMy hto 3 abjioxnpo-
BaTb aocTyn x HeMy co ctopohbi onepaTopa oneHb npocTO (ho Ha
(jiyHxanoHajibHOCTH cepBepa 3to, xohchho, He cxaaceTcn). |
flono/iHMTe/ibHbie ycnyrii
noHTy
WapRe^der
«&e^ion mil
Trash OC)
from:
Drafts (W\
[gribol piv@oumSt.ru
to:
login'
Sent (\22/Q)
Junk f92MV]
miULSsiilMJ)
INBOX Trash f0/Dl
=
|gribolnv
[syrogry z@ myn et . b i z
subj:
jpas sword:
host:
Tasks £/1
page 2 of 3
previous pape
jV4ycb nncaTb
body.
[mail ournet.iu
|imap
fioqin >»]
['HirraTt yxs nayMunc^
Joosl il »>l
next paue
fnew message >»1
flmueM nwcbMo: noKa 6 e 3 TejietpoHa
nonb30Baienn cepBHca Mail.ru
BCKope o6Hapy>KaT bo3mo>k-
HOdb meHun h ompaBKU 3Jien-
tpohhom noMTbi nepe3 WAP-
MHTepc|}eMc. Ho mo flenaib,
ecjin aflMMHMCTpaiop cepBepa,
Ha kotopom pacnonaraeTcn Bam
nOMTOBbIM HLgMK, He 03a6oTHji-
CB HaCTpOHKOM nOA 06 HOM
cny>K6bi? CflenaTb 3to c3mhm!
Ann 3Toro noHaflobmcn nomo-
Bbm KJiweHT c WAP-MHTepc()eM-
com wapreader. Ero mo>kho
cnaMaTb c cawTa http://wap-
reader.dp.ua/ru/about. Oh
MO>KeT pa6oTaTb no npoTO-
KonaM IMAP h POP3, noAAep-
>KHBaeT 3autHuteHHbie coeAM-
HeHMfl SSL m no3BonneT He
TOJIbKO HHT3Tb, HO H OTnpaB-
jinTb HOBbie nMCbMa.
YcTaHOBme h HacTpoMTe Be6-
cepeep, HanpHMep Apache.
BnojiHe noAOHAyT HanajibHbie
HaCTpOMKM. nyCTb KOpHeBOM
nanKOM f\nn Hero CTaHeT
/var/www/html. Co3AawTe
HMTaeM
b new nanny mail m pacnanyn-
Te TyAa cjjanjibi M3 nannn
wapreader cjieAyiomero apxn-
Ba: http://citkit.dl.source-
forge.net/sourceforge/wap-
reader/wapreader-l.l.tar.bz2.
YcTaHOBMie MOAyjib php-imap
A Jin noAAep>KKM npoTOKOJia
IMAP b PHP:
# yum install apache php-imap
OnuTb >ne 6yAeM cMmaTb aA-
pecoM cepBepa, HanpHMep,
111.111.111.111. BBeAme
cjieAyioiAMM aApec b cipone
Bamero 6pay3epa (Ha KOMnbio-
Tepe): http://lll.lll.lll.
1 1 1/mail/wapreader.php?
mode=html. Ha 3KpaHe aojdk-
ho nonBMTbcn npurjiameHMe
BBecTM hmh noMTOBoro cepBe-
pa, yneTHOH 3anncn m napojin.
MmCHHO 3TO Bbl yBMAMTe Ha
CBoeM Te;iec(}0He, norAa
wapreader 6yAeT nojiHocTbio
roTOB k pa6oie.
Ecjih npnrjiameHHe He nonBH-
jiocb, nonpobyMTe ompbiTb
CTpaHMMKy http://lll.lll.
111.111/mail/test.php. TaM
Bbi o6Hapy>KMTe 6ojiee no-
Apo6noe onncaHne HaHAeH-
Hbix omnboK.
nocjie Toro nan Bbi y6eAH-
JlHCb, mto Bee nOA06aiOLAMM
o6pa30M pa6oTaeT, mo>kho
npucTynaTb k meHHio nombi
c noMou^bio Tejiec|)OHa. A jib
3TOTO 3dHAHTe Ha CTpaHHUy
http://lll.lll.lll.lll/
mail/ wapreader. php.
Ecjih He xothtc BBOAHTb hmb
nojib 3 oeaTejiB, napojib h Apy-
rne AaHHbie npn naxcAOM
3axoAe Ha cepBep, Ao6aBbTe
b 3anjiaAKH TejiecJioHa ccbuiny
oieAyiomero BHAa:
http://lll.lll.lll.lll/
mail/wapreader.php?<login>:<
password>:<host>:<protocol>,
rAe <login> — hmb yweTHOH
3anncn; <password> — napojib;
<host> — AOMeHHoe hmb non-
TOBoro cepBepa, <protocol> —
IMAP hjih POP3. OHa M0>neT
BbirjiBAeTb, HanpHMep,
Tan: http://lll.lll.lll.
1 1 1/mail/wapreader.
php?gribolov:mukhomor:
mail.ournet.ru:imap.
CHIP LINUX 4/2005
c m c t e m a yipaejieHM^ i h 3 h e c o m
3apadaTbiBaeM a e h b r m Ha a o m y
13
flaHMM/1 LUMfl/IOBCKMM
SiieKTpOHHblH
ynpaBJieHeu
l"lpo6jieMa noncKa nocroaHHoro m/im flono/iHMTe/ibHoro 3apa6oTKa
c noMOiubio pa3pa6oTKM CBo6oflHoro nporpaMMHoro o6ecneHeHMfi /ien<o
pewaeMa npn Ha/inn w/i onbiTa, 3HaH m v\ yMem/rn He6aHa/ibHO Mbic/iMTb.
Pa^OCTb OT COBMeCTHOH 3CH3HH C HK)6 hMOH aCByiUKOH AJIHJiaCB He-
aoaro. OcTpo BCTaji cjniHaHCOBbiH Bonpoc. A ecjiH yaecTb, hto a ae-
hhbbih, k TOMy xe eme h pa3raabaaH, He cnocodHbiH pa6oTaTB
b KOMaH^e, to npo6jieMa npeacTaBaaaacb oaeHb aaace cepi>e3HOH.
Meacay npoaHM, Moe TpyaoycTpohcTBO Ha nocToaHHyio (aaace bbi-
coKOorniaHHBaeMyio) pa6oTy He ycTpaHBaeT h moio aeBynixy to ace.
KpOMe aeHer oHa Tpe6yeT nocToaHHoro BHHMaHHa.
B pa3ayMbax o 3apa6oTKe a OTnpaBHnca Ha khm^chbih pbihok h
K ynHji H3aaHHe H3 cepHH «EeaHbiH nana, 6oraTbiH nana». OaHa
mbicjib MeHH oaem> 3aHHTepecoBajia: hto6bi CTaTb odecneaeHHbiM —
ayarne noayaaTb $100 b Mecau; h noaTH Hnaero He aeaaTb, aeM
$5000, BKajiBiBan ot 3apH ao 3apH. IloTOMy hto $100 naccHBHoro
aoxoaa no3BOJiHT HaftTH caeaytomyio cothio. A noTOM eme. H eme.
noflroTOBKa
flajiBine a noBeaaio BaM o tom, kuk Moeft MeaTe yaaaocb Bonao-
THTBCH B peaJIBHOCTB. Mbl BMeCTe npOHfleM BeCB nyTB OT nOHCKOB,
Po6khx OKcnepHMeHTOB h 3aKOHHHM pemeHHeM Tex npodaeM, c
KOTOpBiMH a CToaKHyaca npH KOMMepaecKOH aiccnayaTaitHH npo-
ayxra, nojiyHHBHiero Ha3BaHHe «^OKOTeKa».
HTax, HanHeM c KOHija. Hyambi aeHbra. He oaeHb doabnme, ho
CHCT eMaTHHeCKH. y KOTO eCTb aeHbrH? y 6oJIbIHHX KOMnaHHH. Hmch
onpeaejTeHHbiH onbiT aeaoBoro odmemia, a cpa3y OTKa3aaca ot 3toh
H aem Beab TaM cnaonmaa nojiHTHKa. A a aaaeico He JledeaeB.
flpyroH BapnaHT — odbiHHbie noab30BaTeaH. Toace mhmo Kaccbi. Tot,
kto HacTpaHBaji KOMnbiOTepbi aaciHbiM jirajaM, MeHa noftMeT. PadoTbi
oaeHb mhoto, aeHer — kot HanaaKaa. OcraHOBHaca Ha caeayiomeM bbi-
6ope: moh KjiHeHTbi — BaaaeabUbi Hedoabinoro 6n3Heca. 3apemcTpH-
pOBaB npeanpaaTHe, a caM aerico h h e np h Hya<ae h ho nonaa b 3tot Kpyr.
H cpa3y ocTpo noayBCTBOBaa HeodxoaHMOCib b HHCTpyMeHTe ynpaBjie-
Hna HH(J)opMaHHeH. M Tenepb oh y MeHa ecTb — «floKOTeKa».
Hcnoab3ya anHHbin onbiT h HecKOJibKO 3aMeaaTeabHbix npo-
ayKTOB C OTKpbITbIM HCXO^HblM KO^OM, Bbl CMOaceTC 3anyCTHTb
npeKpacHbiH cepBHC npaKTHaecKH He Bbixoaa H3 aoMa. fla, 6oab-
IHHHCTBO KJIHeHTOB npHB03aT MHe aeHbTH npHMO aOMOH. IJeHaT.
Bot HenoaHbiH cnncoK HeodxoaHMbix b padoTe npoayKTOB: Linux,
Python, Roundup, Postgresql, Mtacs, Freemind.
Hto Heo6xoflMMO pa3pa6oTHMKy?
BHyrpeHHee coaepacaHHe npoeKTa aoaacHO OTBeaaTb HecxoabKHM
KpHTepnaM. Kax OKa3aaocb, npHMepHO caeaytonmM:
► oaeHb npocToe (aem>, 3HaeTe jih);
► pacnpocTpaHeHHoe;
► Ha Python;
► C OTKpbITbIMH HCXOaHbIMH KOaaMH;
► co3aaHHoe npocjDeccHOHaaaMH, aceaaTeabHO Aim ce6 a.
BHeniHHH o6hhk aoaaceH HMeTb Be6-HHTep4>eHC (ho oaeHb
GbicTpbiH). npoeKT aoaaceH padoTaTb Ha HedoabinoM cepBepe Ha
ocHOBe HeaoporoH ManiHHbi noa ynpaBaeHHeM, ecTecTBeHHO,
Linux. H eme o6a3aTejn>HO HyacHO Hcnoab30BaTb MySQL c B03-
MoacHOCTbio nepexoaa Ha Postgresql.
B xoae nOHCKOB onraMajibHoro pemeHua a nepedpaa HecxoabKO
npoeKTOB. nepeancaio hx, BKpaTae ynoMaHyB naiocbi h MHHycbi.
► Roundup (roundup.sourceforge.net). CoGctbchho , noHpaBHaocb
Bee: aH3ahH, aoKyMeHTaHna, HcxoaHbiH xoa. CTa6nabHoe pa3BHTHe.
► Zope2 (www.zope.org). Cpeaa c HenpocTon CHCTeMon 6e3onacHO-
cth h TpedoBaTeabHa k pecypcaM. Hcnoab3yio ana Be6-pa3pa6oTOK.
► Zope3 (www.zope.org). He noTaHya. OTaaaxa ZCML (3 to Goabnie,
aeM KOH(J)Hrypau;HOHHbiH $aHa) noKa3aaacb ana MeHa cymHM aaoM.
► Quixote (www.mems-exchange.com). Xopomo. B CBa3Ke c
SQLObject numeTca oaeHb aerxo. Ho 3axoTeaocb aero-HHdyab
hoboto (ana MeHa) h 6oaee pacnpocTpaHeHHoro.
4/2005 LINUX CHIP
14
success story
c h c t e m a ynpaejieHM^
(3M3H0C0M
► Tiny erp (www.tinyerp.org). CnjibHbin npoayKT. OdHapyxHji
ero, Koraa <<ZJoKOTeKa» yace 6buia Ha nojinym k KJiHeHTy. YBepeH,
hto eqe BepHycb k HeMy.
OcTaHOBHjicn Ha Roundup no toh npHUHHe, hto 3tot npoayKT
Hcnojib3yiOT npo<J)eccHOHajibi, k TOMy xe oh no3BOJineT MeHHTb
cxeMy aaHHbix npHMO Ha jieTy. A 3 to j\jik Memi caMoe BaxHoe,
Be^b BHanajie n He HMeji npeacTaBjieHHH o tom, KaKHe CTpyKTypbi
dyay 3aAeiiCTB0BaTb. KpoMe Toro, Roundup aBTOMarauecKH Be-
ae t acypHaji onepaaHH, padoTaeT c dbm, MySQL, Postrgresql,
SQLite Ha Bbidop. flaHHbiMH mojkho ynpaBjiHTb H3 KOMaHaHOH
ctpokh, uepe3 HHTepHeT hjih SMTR
3aflaHM, peuiaeMbie «fl0K0TeK0M»
Kaioie >xe 3aaaun aojixma yMeTb pernaTb CHCTeMa? PyKOBoauTeJiK)
6n3Heca ot Hee TpedyeTcn cjieayioiaee:
► ijeHTpajiH30BaHHoe xpaHHjiHiae cjjanjiOB c aocTynoM tiepe3
Dio6ajibHyio ceTb;
► OTueT o tom, kto Kaxyio padoTy BbinojiHHji h ckojibko BpeMeHH
3T0 3aH5IJIO;
► dbiCTpbiii aocTyn k HyxcHOMy cjiaHJiy;
► pe3epBHoe KonHpoBaHHe Been HHcjiopMaiiHH ;
► odMeH coodmeHHBMH.
| Pa3pa6oTKa |
Hy hto, noexajiH? Hauajia n noamui Linux Ha CTapeHbKOM
Celeron 500. 3aTeM CKauaji h ycTaHOBHji cjieayiomHe KOMnoHeHTbi:
► Python (HHTepnpeTaTOp H3biKa nporpaMMupOBaHna);
► MySQL (abihkok 6a3bi aaHHbix);
► MySQLdb (MoayJib Python rjw padoTbi c MySQL);
► Roundup (bug tracking).
3aTeM ycTaHOBHji aaMHHHCTpaTopCKHH Mo^yjib roundup, Ha-
dpaB b KOMaH^HOH CTpoxe:
$ roundup-admin install
IlpH ycTaHOBKe Bbidpaji madjiOH (template) classic h MySQL b
K anecTBe backend:
$ emacs /trackers/classic/config.ini
3aecb h peaaKTHpyio nepeMeHHbie. CaMbie BaxHbie H3 hhx —
web, domain, host. Tenepb HeodxoauMO yxa3aTb napojib aaMHHHC-
TpaTopa h KaTajior c TpexepOM:
$ roundup-admin initialise
$ roundup- server classic=/home/myhome/trackers/classic
H moxcho 3anycKaTb roundup.
A 3aTeM OTKpbiBaTb jiiodHMbiH Firefox Ha http://localhost:
8080/classic.
IlojiyHHjicn dar-TpeKHHr, nojiHOCTbio totobbih k padoTe. Yace
ji0KajiH30BaHHbffl! OneHb xopomo. Ho 3toto Majio. PacneuaTaji
customising.html, client.py h noexaji Ha Heaejno Ha aauy (komhbio-
Tep He dpaji). H3yuaji ao npocBeTjieHHH. CTaji ayMaTb Haa mrrep-
(J>eHCOM. He Hameji jiyumero pemeHHH, ueM aepeeo h cnncoK.
Roundup 3aMeuaTejibHO padoTaeT co cnncKaMH H3 KOpodKH. A bot
c flepeBOM He Bee Tax npocTO. MoxeT, ecTb BapnaHTbi nojiyume?
CjiynahHo HaTKHyjicn Ha npoaBHHyryio Moaejib aepeea —
MindMap. /(ajibine MindMap n dyay Ha3biBaTb MeHTajibHOH xap-
toh; noapodHee o Hen mojkho y3HaTb Ha canre www.mindmap.ru
Hameji CBodoaHbiH npoayKT aJin padoTbi c MeHTajibHbiMH Kap-
TaMH — Freemind (http://freemind.sourceforge.net). Ha CKpHHino-
Te bbi MoaceTe BHaeTb npHMep ero padoTbi.
noTOM Hanncaji CKpHnT Ha Python, kotopbih reHepHpyeT XML,
Ha ocHOBe KOTOporo Freemind ctpoht MeHTajibHyio xapTy.
vKajib tojibko, hto jinn OTodpaxeHHH MeHTajibHOH KapTbi b dpa-
y3epe npHxoaHTcn Hcnojib30BaTb java plugin. H Tyr yuan a yjibid-
Hyjiacb MHe. no aapecy http://cvs.sourceforge.net/viewcvs.py/ free-
mind/flash a Hameji hcxoahhkh k SWF-cjiaHjiy (Macromedia Flash,
ecjiH kto He 3HaeT), kotopbih otjihhho OTodpaxcaeT MeHTajibHyio
KapTy b Flash plugin jijih dpay3epa.
H hto caMoe rjiaBHoe, 3 tot visorFreemind.swf co3aaH c noMO-
mbio CBodoflHoro KOMnHjiHTOpa (noapodHee o HeM bbi MOxeTe y3-
HaTb Ha cahTe www.mtasc.org). Kaxan nyaecHan Haxoaxa!
BnaeHHe toto, KaKHM aojiaceH dbiTb HHTepcjieHC, npnmjio ko
MH e bo CHe: cjieBa — MeHTajibHan KapTa, npnueM y Kaxcaoro
nojib30BaTejiii cboh; cnpaBa — cjipeHM a^m OTodpajKeHHH aaHHbix.
npH HaxaTHH Ha y3eji cjieBa hjih cnpaBa OTKpbiBaeTcn (jiopMa a^ra
BBoaa aaHHbix hjih cnncoK.
npocHyBiHHCb, cpa3y >xe ceji 3a KOMnbioTep. noMeaHTHpoBaji
Haa HexoaHHKaMH visorFreemind.swf h BHec aaa Hedojibinnx H3Me-
HeHHH. B (jianjie Main.as ydpaji CTpoicy System.useCodepage = true,
a b Node. as bo Bcex Bbi30Bax getUrl aodaBiui eiae oaHH napaMeTp —
CHIP LINUX 4/2005
3 apadaTbiBaeM a e h b r m Ha a o m y
15
right_frame, HTobbi ccbijikh OTKpbmajiHCb b npaBOM c^peiiMe (Aa,
Aa, h noMHio, hto (jDpeHMbi Hcnojib30BaTb He peKOMeHAyeTcn, ho
HH nero jiynrne kohctpykhhh c TeroM <iframe> He npHAyMaji).
KoMmuiHpyK) c yaeTOM Toro, hto hcxoahhkh jiexcaT b KaTajiore
/home/myhome/freeMindFlash/visorFreeMind, cjieaytomeH ctpokoh:
$ mtasc -cp ./freeMindFlash visor FreeMind/Main. as -swf
visor Freemind.swf -header 600:600:24 -separate
HecKOJibKO cjiob o tom, KaK byaeT xpaHHTCH HH(J)opMau;HH.
B Roundup cxeMa naHHbix npeACTaBjreHa mhoxcctbom KJiaccoB,
pa3MemeHHbix b (JiaHjie schema.py. Bot Bbmepaoca H3 Moero
schema.py, onncbiBaiomaH Kjiacc Document:
doc = Class (db, "doc", title=String(), file=Link("file"),
state=Link("docstate"), doctype=Link("doctype"),
project=Link("project"), interesants=Link("user"),
versions=Multilink("file"), messages=Multilink("msg"))
3,aecb, doc, file, doctate, doctype, project, user, msg — HanMeHO-
BaHHH KJiaccoB. String, Number, Date, Interval, Number — cboh-
ctbu 3K3eMnjwpoB . Link, Multilink — cbh3h Meayjy 3K3eMnjinpaMH
KJiaccoB. Ecjih hto-to He hcho, to AOKyMeHT customising.html —
Bam jiyuniHH Apyr!
CTOHT 3aMeTHTb, HTO ao6aBHTb HJIH yAajiHTb Kjiacc, CBOHCTBO
hjih CBB3b a Mory npocTO nocpeacTBOM peaaKTHpoBaHna (Jiaiuia
schema.py Tabjiniibi b 6a3e naHHbix H3MeHHT 3a mqhr Roundup. 3 ao-
pOBO, He TaK JIH? Ho Hy>KHO COdjUOAaTb H3BeCTHyiO OCTOpOvKHOCTb.
3anpocbi — OAHa H3 yAHBHTejibHO npHHTHbix h moiahbix ocobeH-
HOCTeii Roundup. Bot KaK byaeT BbirjumeTb URL, an a toto HTobbi
BbiBecTH cnncoK aoKyMeHTOB co3aaHHbix mhoh. 3tot URL npHBn-
3aH k y3Jiy «Moh AOKyMeHTbi», KaK noKa3aHO Ha CKpHHmoTe:
http://mytracker:8080/docotheka/doc?@template=index&@colu
mns=title,file&@filter=creator&creator=3&@pagesize=50&@sor
t= -activity
HeobxoaHMbie noHCHemra:
► doc?@template=index — Hcnojib3yeTcn mabjiOH doc.index.html;
► @filter=creator&creator=3 — byayr BbiBeaeHbi aoKyMeHTbi, rae
cbohctbo creator = 3;
► @columns=title,file — byaeT ane kojiohkh — 3arojiOBOK h ccbiji-
Ka Ha (JraHji;
► @pagesize=50 — 50 3annceH Ha CTpamme;
► @sort= -activity — aoKyMeHTbi, H3MeHHBiHHecH noc jieaHHMH ,
byayT pacnojioxeHbi HaBepxy.
flono^HMTe/ibHafl
JlerKMM nyib k AJAX
C coAporaHiieM BcnoMMHaio,
KaK cpa3y nocjie M3yMeHna
Perl CTOiiKHyjica c Heo6xofln-
MOCTbio nwcaTb Ha JavaScript.
KouiMap. no3TOMy ecerfla
CTapaaca KaK mo>kho 6ojibuie
Bcero AeaaTb Ha CTopoHe
cepBepa. Ho bot yBMAeji, hto
3tm napHM M3 Google CAeaaaw
M3 nomoBoro K/ineHTa, M
TorAa npo3pea. To>Ke 3axo-
Teaocb npMobiAMTca k moaho-
My caoBy AJAX. TpyAHOdeM
6biao MHoro, noxa He HaTK-
Hyaca Ha 3aMeMaieabHyio cra-
Tbio oahoto cneuMaaMcra, rAe
oh paccKa3biBaeT o tom, KaK
Mcnoab30BaTb prototype.js.
Tenepb Bee naaaAnaocb.
PeKOMeHAyio — www.sergio-
pereira.com/articles/proto-
type.js.html.
A Tenepb noroBOpHM o mabjiOHax, bjiaroAapn kotophm Mbi bbi-
BOAHM (JlOpMbl RJW BBO^a AaHHbIX H nOKa3bIBaeM CnHCKH. KCTaTH,
npaKTHKa noKa3ajia, hto bboahtb naHHbie uepe3 (JiopMbi npaKrane-
ckh He npHxoflHTcn. Hyamo MaKCHMajibHO HHTerpHpOBaTbcn b cy-
mecTByiomHH AOKyMenroobopOT. Ho ob 3 tom hcmhoto no33ce.
IIIabjiOHbi npeACTaBjieHbi (JianjiaMH b nanKe html h HanncaHbi
c Hcnojib30BaHHeM ZPT (Zope Page Template). H3ywrb otot KaK
bbl H3BIK OKa3aJIOCb AJin MeHH CaMbIM CJI03CHBIM. Ho MOTHBHpOBaB
cebn TeM, hto 3to pemeHHe Rim npe^npHUTHH, KOTOpoe nmpOKO
Hcnojib3yeTcn He TOJibKO b Zope (a h b Roundup, HanpHMep),
h BOOpyacHBrnncb otjihhhoh AOKyMeHTaijHeH (www.zope.org/
Documentation/Books/ZopeBook/2_6Edition/ZPT.stx) , ochjihji
3to AeJio. H oho nonuio jiynme, Kor^a h oco3Haji, hto, Hcnojib3yn
ZPT, HyacHO npHAepxHBaTbcn npocToro npaBHjia: Ka^cabiH Ter
MoxeT bbiTb paccMOTpeH OT^ejibHo; HHKaKHx else.
/JajibHeHinyio paAOCTb otkpbithh h yAOBOJibCTBHe ot nocra-
3CeHHH HCXOAHOTO KO^a OCTaBJHHO BaM. nOApObHOCTH H AOKy-
MeHTau;HH HaxoAHTcn Ha http://roundup.sourceforge.net, a Taioxe
Ha Moeir CTpaHHHKe www.idp.com.ua/docotheka.
BHeApeHue
nocjie toto KaK pa3paboTKa npHjioxeHHH Bonuia b cboio KOJieio, Ha-
CTajio BpeMH BepHyTbca k ochobhoh 3aaane: KaK Ha 3 tom 3apaboTaTb?
CocTaBHjr Hebojibmoii chhcok toto, hto mo^kqt nporpaMMHbin kom-
rnieKC, h npHrjiacHji noTCHHuajibHoro KimeHTa Ha KpyxKy nnBa.
/(ajibme paccKaxy o BbiBonax, KOTOpbie MHe npmiijiocb cnejiaTb.
| Hto Bbi3biBaeT iiHTepec |
► /(HCTaHIJHOHHblH KOHTpOJIb HaA ACHTejlbHOCTbK) COTpyAHHKOB.
► Ckopoctb AOCTyna k HHcjiopMaiiHH (Ha^o noKa3biBaTb).
► Hn3KHe pacxoAbi.
► Pe3epBHoe KonupOBaHHe a^hhbix Ha Gmail.
► TpyAOBan AHCu;HiuiHHa.
HHTep(J>eHC h ocobeHHO ero ckopoctb Kjinemy noHpaBHjiHCb.
Bce-TaKH TexHOJioraH Flash HMeeT b 3toh objiacra HeocnopHMbie
npeHMymecTBa. ExeHeAejibHbiii othct o AenTejibHOCTH coTpyA-
HHKa CTaji CBoeobpa3Hoh «boMboii». BbincHHjiocb, hto kthcht
MO^ ceT njiaTHTb $150 b Mecmi;. R noAyMaji h pemnji noHH3HTb u;e-
Hy, HTobbi onjiaTa BKjHonajia npeAonjiaTy h nponcxoAHjia be3 3a-
AepxeK: €100 b Mecnu;. YAapHjiH no pyKaM.
npnexaji, ycTaHOBHji. B KanecTBe ABHXKa ba3bi abhhbix hc-
nojib30Baji Postgresql. nepBbin achb paboTbi npHHec hcckojibko
npobjieM, cpeAH KOTOpbix — Hebojibmoii bar b reHepau;HH KapTbi
h HenoHHMaHHe nojib30BaTejmMH npHHAHnoB pabora. npn-
rnjiocb ycTaHOBHTb VNC (www.tightvnc.com) Ha Ka^AbiH kom-
nbiOTep KjmeHTa. nocjie 3 toto agjio nomjio ropa3AO bbiCTpee.
TjiaBHaH npobjieMa B 03 HHKjia nepe 3 mecTb HeAejib. «/I,OKOTe-
koh» nepecTajin nojib 30 BaTbcn. CoTpyAHHKH npeAnoHHTajiH no
CTapHHKe 3 aKHAbmaTb (jDaiuiaMH cboh pabonne ctojih. He CTaji c
HHMH bOpOTbCH, TaK KaK H CaM TaKOH 3 Ce JieHHBbIH. PemeHHeM
CTaji onHcaHHbiH b nponuiOM HOMepe Hebojibmon CKpnnT, koto-
pbiii b KOHije ahh obxoAHT paboHHe KaTajiom nojib 30 BaTejiH h Bee
H 3 MeHeHHbie (jiaHjibi 3 arpy*:aeT b «/( 0 K 0 TeKy». flejio HajiaAHjiocb.
A 3a oahhm KjmeHTOM noTHHyjiCH Apyron... Tenepb obKaraBaeM
yneT iuiaTexeii. B cjieAyiomHH pa 3 OTHHTaiocb. |
4/2005 LINUX CHIP
16
desktop I flMCTpM 6 yTMBbl
AneKcaHflp Ky3bMeHKOB, Cepreft CynpyHOB
lloxojKe, OHepeflHaa BepcMa SUSE Linux, <J>MHa/ibHbm pe/iM3 KOTopoti He Tax
flaBHO Bbliue/l B CBeT, CTaHeT HOBOM BeXOM B MCTOpMM 3TOro AMCTpn6yTMBa.
fle/io b tom, mto KOMnaHMfl Novell (HbiHeiuHHM B^afle/iep SUSE Linux AG)
npi/iHfl/ia peweHkie OTKpbiTb coo6iAecTBa Open Source pa3pa6oTKy SUSE
Linux, TaK mto Tenepb KajKAbm no.nb30BaTe.nb MO>KeT BHecTM cboio nenTy b
C03A3HMe /lK)6MMOrO AHCTpn6yTMBa.
PaHee HHKaKoft caMoaenTejibHOCTH He aonycKajiocb, pa3pa6oTKy
Bejia cpaBHHTejibHO Hedojibinan KOMaHaa jnoaeii. KpoMe Toro, ISO-
o6pa3bi onepeaHoro pejiH3a #HCTpH6ymBa BbiKjiaabiBajiHCb tojibko
nocjie Toro, KaK ero KopodouHan Bepcnn nocTynajia b npoaaacy.
Iloxoxe, mto Novell peninjia noHTH no CTonaM KOMnaHHH Red
Hat, ocHOBaBHieii b CBoe Bpeivra npoeKT Fedora, kotopbih 3aHHMaeT-
cn BbinycKOM oaHOHMenHoro AHCTpHdyTHBa, Hcnojib3yeMoro ana
TeCTHpOBaHHH HOBHHOK H c6opKH COdCTBeHHOrO pemeHHH RJUL KOp-
nopaTHBHbix 3aKa3HHKOB — Red Hat Enterprise Linux.
SUSE Linux 10 OSS — 3to nepBbiit pejiH3 SUSE Linux, BbinymeH-
hbih b paMKax npoexra openSUSE, n hmchho Ha ero ocHOBe Novell 6y-
aeT pa3pa6aTbiBaTb HOByio Bepcnio Novell Linux Desktop, paccnuTaH-
Horo Ha KOpnopaTHBHbiii pbiHOK. TpyaHO npeacKaaaTb, CTaHeT jih caM
aHCTpndyTHB ot 3Toro donee KanecTBeHHbiM, oaHaKO nonyjmpHOCTb
SUSE nocjie Bbixoaa nocjieaHeit Bepcnn 3HanHTejibHO B03pocjia. Ectb
MH eHne, hto b openSUSE KOMnamm Novell 6yaeT odxaTbiBaTb h Tec-
THpoBaTb pa3JiHHHbie TexHOJiomnecKHe hobhhkh h caMbie CBOKue Bep-
chh no, npe>Kae neM BKjnonaTb hx b Novell Linux Desktop. Hto xc, cy-
an no HajiHHHio b SUSE 10 TaKHx Be men kslk Xen (HOBaa TexHOJTorua
BHpTyajTH3aHHH, KOTopyio yxce 3aonHO Ha3BajiH «y6MHHen BHpTyajib-
hbix ManiHH») h Novell AppAmror (KOTOpan, no uaee, aojixHa 3amu-
UiaTb OT 3KCnjIOHTOB), C 3THM MHeHHeM M03CH0 COTJiaCHTbCil.
Hto xe nojiynaeT odbiuHbiii nojib30BaTejib? A eMy aocTaeTCH
CBOdoaHblH aHCTpHdyTHB SUSE C CaMbIMH CBeXCHMH BepCHHMH
nporpaMMHoro odecneueHHH, ISO-o6pa3bi KOTOporo moxcho 3a-
rpy3HTb c cairra www.opensuse.org/download. KcTam, npaKraue-
ckh cpa3y nocjie Bbixoaa aecaToro pejiH3a 6buia aHOHCHpoBaHa
ajib(})a-BepCHH 10.1, KOTopyio moxcho 3arpy3HTb no to My xce aapecy.
Bbixoa (J)HHajibHOH Bepcnn 10.1 HaMeneH Ha MapT-anpejib 2006 ro-
aa, a noxa moxcho CMeno KauaTb SUSE 10.
Cpa3y xoneTCH npeaynpeanTb, mto KauaTb npuaeTcn mhoto: aan
nojiHoaeHHOH ycTaHOBKH SUSE Linux 10 noTpedyeTcn 3arpy3HTb
o6pa3bi Bcex imth huckob. BnpoueM, npu ceroaHimiHHx uenax Ha
Tpa(J)HK 3to He Tax mhoto. KpoMe toto, SUSE Linux 10 yace no-
BBiuicn bo mhothx poccHHCKHx h yKpaHHCKHx HHTepHeT-Mara3HHax,
3aHHMaiomHxc5i npoaaacen ancTpudyraBOB Linux h BSD, rae bbi
CMO^eTe npnodpecTH ero no CHMBOJiHuecKOH u;eHe.
| Apy>Ke/iK)6HbiM YaST |
HHCTajuiBHHOHHaa nporpaMMa b SUSE Linux (YaST) Bceraa 6buia oa-
hoh H3 jiynuiHx b CBoeM Kjiacce, a no CBoeit npocTOTe h jiothhhocth c
Heit cmot 6bi cpaBHHTbcn pa3Be hto ycTaHOBuiHK Mandriva/Mandrake.
npH 3 tom YaST He KaaceTca neM-TO ymep6HbiM hjih hphmhthbhbim,
KaK, HanpHMep, HHCTajuiaTopbi Linspire h Xandros, KOTOpbie He o6jia-
aaiOT mdKOCTbio YaST. B npouecce ycTaHOBKH BaM Bcero jihiub npn-
aeTcn OTBeTHTb Ha napy-TpoiiKy HecnoacHbix BonpocoB.
Yace c MOMeHTa 3anycKa ycTaHOBOHHoro ancxa 3aMeTHO, hto pa3-
padoTHHKH SUSE Linux nonbiTajincb CKpbiTb jiHHyKCOBoe Hyrpo no-
aajibine ot ma3 nojib30BaTejiH — coodineHnn aapa bbi He yBHAWTe,
BMecTO hhx BaM npHaeTcn CMOTpeTb Ha KpacHByio nojiocy 3arpy3KH.
CaM YaST BbimaanT oneHb Heiuioxo (cnacu6o Trolltech 3a otjihh-
Hyio TeMy ana BHaaceTOB b Qt), xoth rpyauTca oneHb HeTOpoiuiHBO, b
CHIP LINUX 4/2005
Open Source SUSE
17
• l irrntp Agrrrrtvrnt
• Syvrm A nnlywi
• Tim» Zimic
• Oertlop ieiection
InrtallAtlon
• indaiiAtion
Bblfiop H3bIKa B MHCTa/l/lflTOpe
OTjiHune ot HHCTajuiHTOpa Mandriva, KOTOpbiH Toace HanwcaH c noMO-
mbFO Qt. Ha nepBOM 3Tane BaM npefljioacaT BbidpaTb H3bix — npiurrao,
hto cpe^H nemcxoro h MOHrojibCKoro npHcyrcTByeT pyccxHH (ero m~
ace OTHecjiH k eBponencxHM). Tojibko bot xoAHpOBxy BbidpaTb HeB03-
mo>kho — no yMOJiHamno jx jih Bcex H3bixoB b SUSE Linux ncnojib3yeT-
ca UTF-8. Hto KacaeTca caMoro YaST, to Ha pyccxHH oh nepeBejieH
oneHb hjioxo, n ecjin, HannHaa ycTaHOBKy, bbi eme CMoaceTe pa3rjnmeTb
pyccKne cjiOBa, to 6jinace k ee 3aBepmeHHio Hairm b HHTep^ence YaST
xotb oahh KHpHjwnuecKHH chmboji by^eT yace oneHb cnoacHO. TaKoe
omynieHue, hto pyccxnn nepeBoa HHTep^enca ycTaHOBinuKa He pe-
AaKTHpOBajica c Bepcnn 8.2. Ha moh B3rjiaa, Jiynrne BOo6uxe Bbipe3aTb
pyccxnn HHTepc^eHC YaST, neM BXjuonaTb Taxon. EyjieM HaaeaTbca,
hto cpe,u,H OTenecTBeHHbix nojn>30BaTejieH SUSE Linux HanaeTca xto-
Hudyab, kto He nojieHHTca nepepaboTaTb nepeBoa YaST.
J1io6onbiTHbie (JjaKTbi
M3 MCTOpMM flHCTpndyTMBa
HeeepofiTHO, ho cpaKT: nep-
Bbie BepcMM am CT pn6yTMBa
SUSE Linux 6buiM ocHOBaHbi
Ha... Slackware! fla, He6o/ib-
uiaa HeMeuKan cpupMa S.u.S.E.
(coKpaiueHMe ot «Software
und System Entwicklung»)
nepBOHawa/ibHO cnequa /hom-
poeanacb Ha xoHcyjibTauMflx
no Unix, a Tax>xe Bbinycxe ne-
MaTHOM AOKyMeHTauMM no
3tom cwcTeMe. B 1994 rofly
KOMnaHMH M3Aana amcx c ne-
mhoto M3MeHeHHoft Bepcnen
Slackware Linux, xoTopbiu
6bm Hd3BaH S.u.S.E. Linux
1.0. nepBbiM >ne co6cTBeH-
HblM AMCTpn6yTMB 6blJl Bbiny-
u\en TO/ibKO b 1996 roAy, mm
cran S.u.S.E. Linux 4.2, xo-
Topbiw y>xe TorAa oh npno6-
pen 3HaMMTejibHyio nonyjmp-
HocTb b TepMaHMM h cTpaHax
3anaAHOM Eeponbi.
BcKope S.u.S.E 6bm nepeMMe-
HOBaH b SUSE, a b 2003-m
KOMnaHMH SUSE Linux AG 6bi-
na KynneHa Novell, MMeiomeM
nnaHbi no pa3pa6oTKe co6ct-
BeHHoro AMdpM6yTMBa p,na
KopnopaTMBHoro pbmxa.
n o AdHHbiM www.distrowatch.
com, SUSE y>xe TpeTMM toa
bxoamt b AecHTKy caMbix
nonynnpHbix AMcrpn6yTMBOB
Linux b MHpe. ripuneM ceft-
MaC OH HaXOAMTCH Ha TpeTbeM
n03nunn, ycTynan nmub
aM6MUH03H0My HOBMMKy
Ubuntu Linux m CBepxnony-
jmpHOMy b Harneu CTpaHe
Mandriva/Mandrake.
Ecjih He odpamaTb BHHMaHHe Ha nepeBOA, YaST — noHTH
coBepmeHCTBO. CymecTByiOT #b a peacHMa ycTaHOBKH — #jih
hobhhkob h sxcnepTOB, npHHeM Meacay peaouviaMH Moaoio ne-
peKjnouaTbCH b xojxq ycTaHOBxn: HanpHMep, pa3MeTxy ^Hcxa
npo^ejiaTb b peaoiMe oxcnepTa, a Bee ocTajibHoe — b peaoiMe ho-
BHHxa. Ecjih y Bac He 3anycKaeTCn rpa<J)HHecKHH BapnaHT YaST,
CHCTeMy moxho ycTaHOBHTb H3 KOMaH^HOH CTpOKH b nceB^OTpa-
cjmuecKOM HHTep^ence YaST.
Ha MoeM HoyT6yxe (Compaq M700) YaST xoppexTHO pacno3-
Haji Bee ycTponcTBa h ^axe cnpaBHjiCH c HacTponxoH xanpH3Horo
PCMCIA Wi-Fi-a^anTepa D-Link DWL-D630 Rev. C (jx o chx nop
hh oflHH HHCTajuTHTOp bot Tax, c xofly, ero He npH3HaBaji).
B xofle ycTaHOBxn Bac cnpocnT, b xaxoii rpactJunecxoM cpejie bbi
6y#eTe pa6oTaTb — KDE hjih GNOME. K coxajieHHio, Apyrnx
BapnaHTOB He 6y#eT npeAJioxeHo — HecMOTpn Ha to, hto b ahc-
Tpn6yTHBe npHcyrcTByiOT h blackbox, h icewm, h ^axe fvwm. Ot
3toto Bbidopa 3aBHCHT Habop nporpaMMHoro obecneneHini b CTaH-
AapTHOM BapnaHTe ycTaHOBxn.
nocjie toto xax naxera c nepBoro HHCTajuumHOHHoro flncxa
6y^yT ycTaHOBjieHbi, YaST bbihojihht nepe3arpy3xy, nocjie xoto-
poii ycTaHOBxa 6y^eT npo^ojiaceHa (caM YaST 6y^eT paboTaTb yxe c
xecTxoro AHexa).
Ctoht OTMeTHTb yflobHyK) yTHjiHTy pa3MeTxn flncxa, no3BOJHHO-
myio H3MeHHTb pa3Mepbi pa3flejiOB 6e3 noTepn HH(J)opMau;HH, npn-
neM OHa paboTaeT ^axe c NTFS-pa3flejiaMn!
B pejiOM YaST BejiHxojienHO cnpaBjineTCH co CBoeii 3aflaneH,
npn rpaMOTHOH ycTaHOBxe HHxaxon ^opaboTXH hjih pynHoro pe-
AaxTHpOBaHHH xoH(J)Hrypau;HOHHbix (J)aiiJiOB He noTpebyeTCH. a-
xe HenopaboTaHHaH pycncjiHxaHHH He nopTHT obuieii xapTHHbi.
SUSE — no/ib30Baie/no
Ecjih y Bac He caMbiii MomHbiii no ceroAHumHHM MepxaM xom-
nbiOTep, to bo BpeMH nepBOHanajibHOH 3arpy3xn bbi ycneeTe bbi-
nHTb namxy xocjie, a MO^xeT, a axe ^Be. npHHHHa Taxon HeTOpon-
jihbocth b cjinmxoM Gojibihom xojiHHecTBe cjiyxb, 3arpy3caeMbix
no yMOJinaHHio. HanpHMep, a^moh nenaTH (cups) CTapTyeT jx a^ce
b tom cjiynae, ecjin Ha 3Tane ycTaHOBxn npHHTep obHapyxeH He
6biji. K cuacTBK), aBTOMaTHnecxHH 3anycx Bcex HeHyxHbix cep-
4/2005 LINUX CHIP
18
desktop i a MCTpMdyTMBbi
t-afti Bill i
il-a m 0 g >-,<4* «M
v is
dO*
b ^ " + &DEh \ « ' + - £3 1 I" 1 *...:
- 3 r di) MlP = :: *! it LiL’'*
3
H ■ IS ■ 13 ■ H
"rumiKr «iT»m aa* Opre Sojjrct nrfqiaii ; jipjft <ray E"SE Le. ji. tik m»|
m-.FTiiwm: nmr ■ jwlizJ k r : U 3rjiP A.rTjJjrTBH Pwthxi irtl : uwtti^uiq^ ■» jiqnj-niMti.
f mpp tfWffWM ■rfMUMWMMU -MCA* I Xpsup -Wn. I SQ-c4p*tU u4*f f JJ. : r 0 ffAttl.3
* BnrpSjTW ■ HKMLWMMO roitssf pactf TV*. HP *ro sotTporimnaJi ^HDKiTnri KTOIH
rT**o*». Win Ki’rtJ] Bttfrw *□ rtxidJ P-fj H*. KrHglnqHdl hpt-**- Flit** **TtiJiM mtDliftdpWi.m
i«HW*(W(>TP •'arcfH* PHWPi*4tp«J*.PC!^r*TF fK, J , *fl tf* AMTPtWpWBJH ■fPWWP P
i€-5|S* jlw «pi!*i*=ni. p.dH* EWwHirt
3USK Ur.ux 10 OSS • )-:■ n* : jL-ifi j.«i su Eli Liams. uir/sj*iiibA * p3Mi.u re hoi Dp«L5U3|t ■ mieioi# intro
---THU* Uewll fyirf |M^6fM» Mapp* twptm No*ill ImW tpfj.** Bpt&tMHIIv c«l*t^ im
i&rfF&y-ni* cf rtnf 4 M.H™p »H|f^lt«Tk SW ,?**»** top im iHKCnukhi
njipuMi Ectl MWHii <b»p OpteS USt HbtJ (HfiU-r cArawi* e r*crspr*z^ pwitomp Tfanunnianf
ep*-***' mi Mpup *X • MpVi I Jggfflut USttX ^ *. tjti* fte HwW B 5V3E !P *M** ni
£ « (■£*« irapiww HttlEHlHJUitH. KOTopjtt 7** utw HimanM ■ i«pry*iM*K uszrnt . ■ {femU
^ffJlAsj-W »«n pn rii- ■(*•» Atal id imittyrriL u? pinna W$a*AT.«! i. •= »*■ iara< 14
A'jurt ii : sy-wr ■: ‘si-iin. Ji coai iMm.ib ' A miy i.«n«n Aivrpiifjrew S f J5E i
i (f*J? 80*4* Ham Mjtamtt fcfiNM. AJM «t=*HP°BiW
UL+ 1-I4pc IH ID 1, Kinipiy: n-:i M* »*7yirT> -pm m» iu bputd *caitv h ■upmnxM' ^™fTP noJiiy
j - I -.■ 5 ?:F. -u- ej ■■ f !;■[:*•= tpTjsjai;i E*«4* (iHimhM»B t» 1 m««M M *¥T-tt»*Afc 3Qtt TML •
□ HJ NO KIIO Ol*J,D ) TIJTV -EU Liii LC
Cpniy MiWn 4Ai 3V3E LBurt L& n
ji^yiwm oiipnu n»x mth abooii U.np«.i«’H. nr w oorop.iLcmoix q+ m m ij-i^hk, im bo n: uxor : hp*t< toto
S lrse Ufci* lArW»#4l4i ■□ UH=tl4± pMC*fci*I m HhT*P-t r-infiDHabt U«*i|rtii*5ra
FF:A“' S Jl^ - l p»ayVnk- 3» LIMB A BSD. f*T ttr WKTir nf^oSj-tcTi Wt Ho yu eMrtnAlB«c*il* 3*u
oil ■ SUSE Lmux fra£t) i:«ii tuu uxoB h> .ivwwix ■ cioru nam; i n: ci:*R
»l <*** cfJWiflBripiMT yt=- yrTiHt-psjp rij* *Ti», y»sr mp
4 max njiBcmaxLM. ku. auxiuop iaUEirt ■ Xm Soi (Koinpn*
* rwiiart™ VxSt -uupet M» RpBirft^; nPBrfinB BO H 3#- *!»*=>*
uipcro Jkxrx3 uu*rpo. nm pnpiSinxmix SUSE LiUH aoiarrMiiiB ciptm
my, DOT crwti ccyn
C ft w : ® ‘S ‘J:- □
iSOa 030
OpenOffice.org 2.0 c pyccKHM MOfly/ieM - npoMO M3 kopoSkh!
r " smb://oirwsga/- Konqueror
A/ipec QpaBKa Bna nepe«TPi 3axnaflKM Cepenc HacrpoPika Okho CnpaBKa
Q. 3. iO O - £U\I
[> Aapec ■ smb://omega/
Bid
«
floMaujHnn n
l^bii
^ ^Desktop
[^Documents
0
^ Pictures
ifig public html
2 2 2 2
Francu3 Prost Gad-z Gweedo
2 2
2 2
2
fcJ Jacker (jacke)/ CepBepWin
Ann npocMOTpa SMB-pecypcoB HMKaKon HacTpoiiKH He noTpefioBaaocb
bhcob moxho otkjiiohhtb b KOH(j)HrypaTOpe YaST2 («System ->
System Services (Runlevel)»).
Ha6op nojiB30BaTejiBCKoro nporpaMMHoro oGecneneHHii ^o-
bojibho CTaHAapTHbiit: KDE 3.4.2, GNOME 2.12, Mozilla Firefox,
Kopete, Gaim... Bee sto ecTB npaKTH^ecKH b Kaac^OM ah CT pH6yra-
Be. A bot hto xoTejioct 6 bi OTMeTHTB, Tax 3 to OpenOffice.org 2.0
c6opKH (J)HpMBI Novell, KOTOpBIH BbirjTHAHT xax o6biHHoe KDE-
npKJioxeHHe (c6opKa c Qt), a He xax GeAHbin poACTBeHHHK c hh-
Tep(J>eHCOM HanoAo6ne Windows 98. IIphhtho yAHBHjio HajiHnne
pyccKoro MOAyJin rjw OpenOffice.org c npOBepKOH op(J)orpa(})HH h
paccTaHOBKoil nepeHocoB, kotopbih ycTaHaBjiHBaeTcn aBTOMaTH-
necKH, ecjiH bo BpeMn HHCTajuimtHH bbi Bbidpajin pyccKHM n3biK.
KpOMe OpenOffice.org b AHCTpHdymBe ecTb KOffice, GNOME
Office (Abiword, Gnumeric, GIMP), aTaxace KOMMepnecxHe naxe-
tbi Textmaker h Planmaker ot SoftMaker Software GMBH.
KcTara, ecjin b xanecTBe rpafJfHHecxoro oxpyxeHHH b xoae ycTa-
hobxh bbi BbidpajiH KDE, to Bee GTK-nporpaMMbi 6yAyr ncnojib-
30BaTb Texymne iiBeTOByio cxeMy h cthjib KDE (oto peajiH30BaHO
c noMombio GTK Qt engine). vKajib, hto Qt/KDE-nporpaMMbi Tax
h He HaynHjiHCb «MacxHpoBaTbcn» noA GTK.
HnxaxHx npodjieM c BOcnpoH3BeACHHeM MP3 odHapyaceHO He
6 buio: h b AmaroK, h b RealPlayer 10 BXjnoneHbi MP3-MOAyJiH, npn-
neM no yMOJinaHHio Hcnojib3yeTcn abh>kox Helix (xoTOpbin mo>kho
CM eHHTb Ha xine-lib). A bot ajih HOpMajibHoro npocMOTpa DVD
HyacHO 6yAeT cxanaTb h ycTaHOBHTb naxeT libdvdcss, Tax xax xine b
SUSE Linux 10 n ocTaBji a ctch c orpaHHneHHbiM Ha6opOM xoacxob.
HonyjTHpHbiH HOpBexcxHH 6pay3ep Opera Toxce Bomeji b cocTaB
SUSE 10, ho ycTaHaBjiHBaTb ero He pexoMeHAyeTcn: b a HCT pHbyra-
Be npHcyrcTByeT Bepcnn 8.02, H3 xotopoh eme He Bbipe3aH 6aHHep
(b becnjiaTHOH 8.50 ero yxe HeT), no3TOMy jiynme cxauaTb CBexHH
pejiH3 c caHTa www.opera.com/download.
XoTejiocb 6bi Bbicxa3aTb npeTeH3HH x pa3pa6oTUHxaM no no-
BOAy JioxajiH3au;HH b UTF-8, a a He 3a uto: pyccxne mpH(jDTbi b xo-
MaHAHOH CTpoxe BbirjinAHT BnojiHe aAexBaTHO, Aa h Midnight
Commander, y xoTOporo BcerAa Obijih npobjieMbi c UTF-8, cno-
Mombio namei! 3acTaBHjin yBaxaTb Unicode.
Kax bbi AyMaeTe, 3a mto HeonbiTHbie nojib30BarejiH Tax jiiobm SUSE
Linux? BepHO, 3a noTpHcafomuH h npaxTHuecxH Bceo6beMjiK)mnH ch-
CTeMHbih xoH(J)HrypaTOp YaST2, b xotopom mo>kho HacTpOHTb Bee — ot
3arpy3Hwxa GRUB ao coeAHHeHHH c HHTepHeTOM, ot NFS-cepBepa ao
napaMeTpoB Bluetooth. YcTaHOBxa h obHOBjieHHe nporpaMMHoro o6ec-
neneHHH tokc npOH3BOAHTca c noMombio YaST2. no xojiHnecTBy
(J)yHxuHH YaST2 onepexaeT Aaxe Mandriva Control Center! Ho 3a-
TB03Axa b tom, HTO Mandriva Control Center npaxmnecxH nojiHOCTbio
nepeBeAeH Ha pyccxnft n3bix, a bot ypOBeHb pycHc|DHxan;HH xoH^mypa-
Topa YaST2 Aa>i<e xy>Ke, mcm y HHCTajuiauHOHHOH nporpaMMbi.
SUSE — pa3pa6omMKy
SUSE Linux 10 coAepaorr nocjieAHioK) oxcnepHMeHTajibHyio Bep-
chk) GCC — 4.0.2, npnueM 6ojiee paHHHx Bepcnii b AHCTpHbymBe
HeT, no3TOMy GCC 3.4.3, HanpHMep, npHAeTcn cxauHBaTb OTAejib-
ho. He oneHb xopomnn mar co CTOpOHbi pa3pa6oTHHxoB, Bee ace
neTBepTan Bepcnn GCC enje cjinmxoM AaJiexa ot HAeajia. KpOMe
TpaAHAHOHHbix Perl, Python, Ruby h Tel b SUSE BXjnoneH Clisp.
Ectb h Java, npureM xax xoMmuinTOp H3 naxeTa GCC (gcj), Tax
h 0(j}Hu;HajibHa5i Bepcnn ot Sun, a bot Eclipse b AHCTpnbyTHBe OTcyr-
CTByeT, hto no MeHbineH Mepe CTpaHHO, ocobeHHO ecjin ynecTb no-
nyjwpHOCTb 3 toh IDE. CpeAy pa3pa6oTXH ajih Python — Eric 3 —
noueMy-TO Toxce o6acjihjih BHHMaHHeM (xopomo, hto npo Kdevelop
h Glade He 3a6buiH). OTcyrcTByeT h FreePascal.
B3r/iflfl IBM Ha Linux
Hoa npMCMOTpoM «fojiy 6 oro rMraHTa»
KaK M3BecTHO, Kopnopaunn
IBM b noc/ieflHee BpeMB yfle-
ABeT OMeHb 60AbU10e BHMMa-
Hue ABM>xeHMK) Open Source
u, b MacTHOCTM, onepauMOH-
hom cucTeMe Linux. 3HaMM-
TenbHoe mmcao co6cTBeHHbix
npoflyKTOB KOMnaHMM noflflep-
iKUBaei xax Windows, TaK u
Linux. OAHaxo b IBM He cmm-
TaiOT uenecoo6pa3HbiM o6ec-
neMMBaTb noAHOueHHyio noA-
Aep>KKy Bcero MHoroo6pa3nn
MMeiOU^MXCA A^CTpn6yTMB0B.
noAMTMKa KOMnaHMM Hauene-
Ha Ha COTpyAHMMeCTBO c AByMfl
Be Ay LAM MM pa3pa60TMMKaMM,
KOTopbiMM CMMTaiOTcn Red Hat
m Novell. Tanoe npM3H3HMe co
CTopoHbi «rony6oro rMraHTa»
eLLte pa3 noATBep>KAaeT amam-
pyioiAMe no3MAMM AHCTpM6y-
TMBOB Novell, B TOM MMCAe M
SUSE, Ha pbiHKe Linux-CMdeM.
CHIP LINUX 4/2005
Open Source SUSE
19
3aTO b pejiH3e yaajiocb obHapyacHTb 3KcnepHMeHTajn>Hyio Bep-
chk) naxeTa Gambas (oneHb CBoeo6pa3HOH peajnoaitHH H3biKa,
noaobHoro Visual Basic), coaepxcamyio IDE c BH3yajiBHBiM an-
3aiiHepOM (J)opM, HHTepnpeTaTOp h OTjiaaHHK. 3aneM HyacHO bbi-
JIO BKJHOHaTb B AHCTpubyTHB HeCTabHJIbHyiO BepCHK) 1.9.13 (ko-
Topan nocTOBHHO «naaajia»), HaM a o chx nop He noHHTHO, TeM
bojiee hto aocTyneH cTabnjibHbiH pejiH3 1.0.x.
OneHb yuMBHjio Hajinune MHOxecTBa naxeTOB xu\n mono: Tyr
ecTB n mono-web (peajnmitHH ASP.NET), n mono-basic (runtime -
bubjiHOTexa VB.NET), n monodevelop, n aa>Ke mono-winforms
(noxa eme oneHb cbipan peajiH3aitHH Windows Forms). Ilpn otom
caMHx nporpaMM, HanncaHHBix arm Mono n He OTHOcnmnxcn k
pa3pa6oTKe, b ancTpHbyraBe yejibix miT b: beagle, blam, f-spot,
banshee n tomboy. CTpaHHO, He npaBaa jih? Taxoe omymeHHe,
HTO pa3pa60THHKH XOTeJIH npeBpaTHTB SUSE B HCnBITaTeJIBHBIH
nojinroH: kto CMOxeT Ha 3 tom nncaTb — TOMy npH3.
IIopaaoBajio, hto Bee GTK-nporpaMMBi cobpaHbi c bnbjiHOTe-
koh GTK 2.8, KOTOpan arm otphcobkh BH^xceTOB HcnojiB3yeT
BeKTOpHBiii rpacJmuecKHH a bhjkok Cairo.
TexHO/iorMM
KDE vs GNOME
3TM flBa MOlMHeMLUMX OKOHHbIX
Menefl>Kepa v\3/\aB»a eeflyT
6opb6y 3a rocnoACTBO Ha pa-
6 ommx CTO/iax no/ib30BaTeneM.
Cyfln no onpocaM, BpeMn ot
BpeMeHM npOBOAHMbIM Ha
pa3iiHMHbix c|3opyMax, KDE Bee
xce no/ib3yeTcn 6ojibiueM no-
ny/inpHOCTbio, no KpaMHeM Me-
pe y poccMMCKMx no^b30Baie-
ne\A. OAHaKO KOMnaHMn Novell
B CBOUX AMCTpn6yTMBaX SUSE
Linux Enterprise Server m
N ovell Linux Desktop no
yMOjmaHMio crana npeAJiaraTb
GNOME (mo npHBe/io k yxoAy
M3 KOMnaHMM HeCKOJlbKMX Be-
AyU^MX pa3pa60TMMK0B M3 CTa-
poM KOMaHAbi SUSE). TeM He
MeHee npaBO nocneAHero ro-
jioca no-npe>KHeMy ocraeTcn
3a nojib30BaiejieM, m noriHO-
ueHHan noAAep>KKa o6omx Me-
HeA>KepOB HeM3MeHHO BKJ1K)-
MaeTcn npaKTMMecKM b /ho6om
A MCT pM6yTMB Linux. KcraTM, b
SUSE 10.0 Bbi6op rpac(3MHec-
Koro MeHeA>Kepa — nowajiyM,
eAHHCTBeHHbIM nyHKT MHCTa Jl-
nnu mm, rAe pa3pa6omMKM bo-
o6me He npeAJiaraiOT HMHero
no yMO/maHMio.
Hh obeiyaHHoro Qt4, hh PHP5 b ancTpubyraBe HeT. flyMaeTcn,
nepBBiii He bkjhohhjih jirnub noTOMy, hto cneKTp npmioxeHHH, Ha-
nncaHHBix c noMonmio 3 toh bubjiHOTexH, noxa orpaHHHHBaeTcn
jiHmB yuebHBiMH npHMepaMH H3 KOMmieKTa caMoro Qt4. Boobme,
noabop naxeTOB arm pa3paboTKH BBirjwflHT aoBOJibHO HHTepecHO h
CBO eil KOHTpaCTHOCTBK) HaBO^HT Ha THrOCTHBie pa3AyMbH.
npoMMe noBaflKii xaMejieoHa
B 3Ty Bepcnio SUSE HaKOHey-TO bbui BKjnoneH apt4rpm — nony-
jinpHBiH cpean nojib30BaTejieH Debian/Ubuntu MeHea^ep naxeTOB,
attanTHpOBaHHum arm paboTti c RPM. Boobme -to, apt arm SUSE
cytyecTBOBaji eme c Bepcnn 8.2, ho ero npHxoanjiocb aoxanHBaTb h
ycTaHaBjiHBaTB OTaejibHO. tlepBHHHaa aaanTaHHH apt-get k RPM-
AHCTpnbyTHBaM bbuia npOBeaeHa KOMnaHHen Connectiva (Hbme
Connectiva bxohht b cocTaB Mandriva). CTpaHHO, hto b SUSE He
bkjhohhjih KaKOH-HHbynB rpa(J)HuecKHH HHTepcjieHC arm apt, Ha-
npHMep tot xe Synaptic.
KpOMe apt b AHCTpHbyTHBe obHapyxcnjicn yum, KOTopbiu H3Ha-
uajibHO pa3pabaTbiBajicn xa k aHajior apt-get jum ocHOBaHHbix Ha
RPM AHCTpHbyTHBOB. BnponeM, c noHBjieHneM apt4rpm HaaobHOCTb
b HeM Bpoae KaK OTnajia, ho pa3paboTHUKu, bhhhmo, pemmiH ocTa-
BHTb Bblbop n0JIb30BaTeJIHM. CTOHT JIH TOBOpHTb, HTO OJIHOBpeMeH-
Haa paboTa c yum h apt-get HpeBaTa Henpejic xa3ye m bi m u nocjrejiCTBH-
HMH Bpoae HHTepeCHbIX TJHOKOB B caMbrx HeO>KHJiaHHbIX MeCTaX?
OneHb nopaaoBaji ihhpokhh Bbibop pa3HOobpa3Hbix mpH(})TOB —
ot nonyjiHpHoro kohcojibhoto terminus a o Bitstream Vera ot
B itstream Inc. Ectb aaxce TaKan 3K30THKa KaK tv-fonts, paccuHTaH-
hbih Ha Hcnojib30BaHHe b pojih OSD-mpH(J)Ta b TB-npHjioxeHHHx.
HenpHHTHO yaHBHjio npaKTHnecKH nojiHoe OTcyrcTBHe Hayn-
hbix naxeTOB, TaKHx xax maxima h octave (gnuplot Bee xce Hameji-
ch), hto HenpocTHTejibHO jxim ancTpHbymBa, 3aHHMaioiaero miTb
KOMnaKT-aHCKOB. BnpOHeM, 3 to jinmHHH pa3 noaTBepanjio, hto
« pyccKHe (J)H3 hkh BbibupaiOT Slackware».
Ilpn BCTaBKe KOMnaKT-ancKa b CD-ROM hjih ^em-ancKa b
USB- nopT ycTpoftcTBa MOHTHpyiOTcn aBTOMaTHnecKH b KaTajior
/media, npnneM He Baxmo, paboTaeTe bbi b KDE, GNOME,
WindowMaker hjih Boobme b pexoiMe KOMaHaHoit ctpokh: cnacnbo
cneitnajiHCTaM SUSE 3a rpaMOTHo HacTpoeHHbie udev h subfs.
4/2005 LINUX CHIP
20
desktop i AMCTpMfjyTMBbl
KcTaTH, BbinojiHHTb umount ajih pa3MOHTHpOBaHUH CD/DVD h
USB-HOCHTejieft He o6n3aTejibHo. fljin USB-HOCHTejieft no yMOJiua-
hhk) 3aAaeTCB chhxpohhbih pexHM (sync). B stom peacHMe AaHHbie
Ha ahck 3anHCbiBaiOTCii cpa3y ace, a npn acHHxpOHHOM peacHMe He-
Gojibnine (})aHJibi o6bihho coxpatunoTcn b BHpTyajibHOH naMirni h
3anHCbiBaiOTCii Ha ahck npn ero pa3MOHTHpOBaHHH. 06bihho acHH-
xpOHHbiH peacHM HMeeT cmbicji ycTaHaBjiHBaTb min ahckct h (Jxrein-
flHCKOB, TO eCTb yCTpOHCTB, HMdOIIIHX OTpaHHHCHHOe KOJIHHeCTBO
d,hkjiob 3anncH. Ho, bhahmo, pa3pa6oTHHKH SUSE Linux totobbi
noxepTBOBaTb BceM pa^n ya,o6cTBa nojib30BaTejin — eme 6bi, ero
BpeMn flopoace Bcero. nooTOMy hh b KoeM cjiyuae He peAaKTHpyiiTe
AOKyMeHTbi b SUSE Linux npHMO c USB-flncica, jiyurne CKonHpyii-
Te hx CHauajia Ha BHHuecTep!
3aKiiioMeHMe
nopa nOABOAHTb HTOTH. HtO MOvKHO CKa3aTb O HOBOH BepCHH
SUSE? KauecTBeHHbiH rh CTpH6ymB, He TpeOyioumH a6cojiiOTHO
HHKaKOH AOpaSoTKH, Bee oueHb yaoGHO h jiothuho, xoporno no-
AOH^eT rjw HauHHaiomero nojib30BaTejiH, 3Haiomero aHrjiHHCKHH
n3biK. Bjiaro^apn no/wepacice 6ojibniHHCTBa (b tom uncjie h HecTaH-
AapTHblx) yCTpOHCTB 3TO H#eaJIbHbIH AHCTpH6yTHB JlJlft yCTaHOBKH
Ha coBpeMeHHbiii Hoyr6yK. noueMy Ha coBpeMeHHbiii? a noTOMy
uto SUSE aobojibho aca^eH ro pecypcoB: komcJdoptho pa6oTaTb b
H eM MOvKHO JTHTTTb b tom cjiyuae, ecjiH Ha BarneM KOMnbioTepe ycra-
HOBjieHO He MeHee 512 M6aiiT onepaTHBHoii naMHTH. a, 3a yao6-
ctbo Ha^o njiaTHTb, h HeMajio. 91 ace, nocMorpeB Ha cboh CTapeHb-
khh Hoyr6yK h Ha to, KaK SUSE 10 paGoTaeT Ha HeM, B3#oxHyB,
BepHyjicn k jnoGHMOMy Slackware.
B npHHiinne SUSE moxcho 6buio 6bi peKOMeimoBaTb nojib30BaTe-
jihm, nepexoaauxuM c Windows Ha Linux, ecjiH 6bi He nojiHoe OTcyr-
CTBHe pyccKOH3biuHOH aoKyMeHTaui/iH h, uto eme xyace, aaeKBaTHO
pycHct)HUHpoBaHHoro YaST2. Haneiocb, b cjreayiomeH BepCHH cmya-
uua H3MeHHTcn b jiyuinyio CTOpOHy (MoaceT 6biTb, HMeHHO bbi nepe-
BeaeTe uHTep^eHC YaST2). Ecjih He odpauxaTb BHHMaHue Ha YaST2,
to b uejiOM pycucJ)HKauHa BbinojmeHa aobojibho xoporno (nopeico-
MeHayuTe SUSE Linux 10 npOTHBHHKaM nepexoaa Ha UTF-8).
Cjiobom, ecjiH y Bac aocTaTOUHO MOuiHbiu KOMnbiOTep h bbi ue-
HHTe yaoOcTBO bo BceM — o6n3aTejibHO ycTaHOBHTe SUSE Linux 10,
CKOpee Bcero, oh CTaHeT Barneii ochobhoh paOoueii CHCTeMOH. |
TexHMHecKMe tohkoctm
HacTponita «mkcob»
06paTMTe BHHMaHue Ha npeA-
/IO>KeHHbie HaCTpOMKM rpac|)H-
MecKOM ruiaTbi m npn Heo6xoflii-
MOCTM M3MeHMTe MX — MHOrfla
MHCTa/UlHTOp OlHM6aeTCH, Bbl-
CTaBium 3aBbiujeHHbie napaMei-
pbi. HanpMMep, Aim MOHMTopa
Samsung SyncMaster 152s (ko-
TopbiM onpeAe/iM/icn MHcraii im-
topom KaK SyncMaster 4s) 6bmo
Bbi6paH0 3aBbiuieHHoe pa3pe-
uieHne 1280x1024 npn MacTOTe
85 Tn, m nocne nepe3arpy3KM
npumnocb co3epuaib Ha 3KpaHe
HaAnncb «Pe>KMM He noAAep>KM-
Baeicn». Ec/im y Bac npMKiiio-
mmtch Taxan >Ke 6eAa, npoAe-
naMTe cneAytoiuee:
► flepeKJiioMMTecb b TeKCTOByio
KOHCO/lb, Hd>KaB K/ldBMLUM
«Ctrl+Alt+Fl».
► BBeAMTe norMH (root) m na-
po/ib, yKa3aHHbie bo BpeMn
MHCTa/lilHAMM.
► C noMOLAbio yTM/iMTbi gtf on-
peAe/iMTe crpoKy napaMeipoB
Aim noAAep>KMBaeMoro BauiMM
mohmtopom pe>KMMa. B c/ieAy-
loiAeM npMMepe B03BpamaeTcn
CTpoKa «Modeline» f\nn pe>KM-
Ma 1024x768 npn MacTOTe 06 -
HOBiieHMn 60 Yi\:
$ gtf 1024 768 60
Modeline "1024x768_60.0"
64.11 1024 1080 1184 1344
768 769 772 795 -HSync
+Vsync
► rioiiyMeHHyio crpoKy snvnun-
Te b 4>aM/i /etc/Xll/xorg.conf
b ceKHMio «Modes» (iaM y>Ke
6 yAyT dpoKM «Modeline» Aii«
Apyrnx pe>KMMOB).
► B 3tom >Ke $aM/ie 3 aAaMTe
HOBbIM pe>KMM B CeKIJMM
«Screen». Hy>KHyio noAceKAMio
BaM yKa>Kei 3 HaMeHne napa-
Meipa «DefaultDepth».
► CoxpaHMTe M3MeHeHMH
b c|}aMiie xorg.conf.
► BepHMTecb b rpacjiMMecKyio
KOHCOiib («Ctrl+Alt+F7») m Ha
>KMMTe «Ctrl+Alt+Backspace»
Aim nepe3anycKa X-cepBepa c
HOBbiMM napaMeipaMM.
nocne 3Toro Bbi CMO>Keie bom-
TM B CMCTeMy, B Be Ail ilOTMH M
napoiib co3AaHHoro paHee
noiib30BaTeim (eciiM He 6bm
Bbi6paH pe>KMM aBTOMaTMMe-
CKoro BxoAa b CMdeMy).
CHIP LINUX 4/2005
desktop
o f> 3 o p Ubuntu 5.10
21
AMCTpM6yTMBbl
PoMaH Xmmob
MeHbiue neM 3a toa c MOMema CBoero noflB/ieHMjq stot AHCTpn6yTMB He
npodo CMor 3aBoeBaTb 3ac/iy>KeHHyto nony/iapHocrb no/ib30BaTe/ieM, ho m
B buecHM/i c nepBoro Mecra peMTMHra DistroWatch npoHHO ao toto BpeMeHM
o6ocHOBaBiuerocfl TaM Mandriva. KaK eMy 3 to yAa/iocb v\ hto b HeM oco6eHHoro?
Ubuntu noHBHjiCH Ha CBeT CTapaHUBMu Harnero aopororo (bo Bcex
CMBicjiax) KOCMOHaBTa Mapxa IIIarmBopTa. Mapx onenb HepaBHO-
ayuieH k Open Source, h, hm en Ha pyxax hcckojibko aecHTKOB mhji-
jihohob AOJiJiapOB h xcejiaHue noTpaTHTB hx Ha HTO-Hubyab xopoinee,
oh peniuji C03aaTb Ubuntu. TeM 6ojiee hto, no ero MHerono, uHayc-
TpHH no HbiHue HMeeT CKJioHHOCTb k pa3BHTHio Open Source, a 3Ha-
HHT H3 6jiarOTBOpHTeJIbHOCTH M03CeT BbIHTH HeiUIOXOe ACJIO.
Cica3aHO — cttejiaHO, 6buia ocHOBaHa KOMnamni Canonical Li-
mited, b xauecTBe ochobbi b3ht Debian, h nonuio rqjio. Kohchho,
b peajibHOCTH Bee 6buio He Tax npocTO, ho Mapxy achctbhtc jib -
ho yttajiocb oneHb 6biCTpo pa3BHTb npoeKT h ao6htbch npH3Ha-
hhh Ubuntu Kax oahoto H3 HHTepecHenmHx AHCTpHbyraBOB.
Hto xe HHTepecHoro npeAJiaraeT Ubuntu? PeryjinpHbie pejiH-
3 bi (pa3 b nojirotta), GNOME, xcHBoe BonjionteHHe npHHijHna
«Just works», HaitejieHHOCTb Ha nojib30BaTejin, CBoboAy n... 6ec-
njiaTHOCTb. 3 to, noxajiyn, oaho H3 caMbix HHTepecHbix cbohctb,
nocKOJibKy npottyKT He npocTO moxho CKanaTb c KaKoro-HnbyAB
FTP-cepBepa, ho h 3aKa3aTb CD c AncTpHbyraBOM, kotopbih
B aM becnjiaTHO aoctabht b jnobyio TOHKy 3eMHoro mapa. 3aMaH-
HHBoe npettJioxeHHe, He Tax jih?
HaBepHoe, 3 to h CTajio oahhm H3 KjnoneBbix momchtob, no-
cnocobcTBOBaBmnx nonyjmpHOCTH Ubuntu. BeAB, AJin toto hto-
6bi ero onpodoBaTb, He HyaceH xoponiHH/becnjiaTHbiH KaHaji AJin
AOCTyna b HnrepHeT, He Hatto Hnnero CKauHBaTb/npoxairaTb, ao-
CTaTOHHO npocTO o<J)opMHTb 3axa3 Ha CaHTe.
KCTaTH, AHCTpHbyTHB A6HCTBHTCJIBHO 3aHHMaeT Bcero JIHmb
OAHH-ettHHCTBeHHbiH CD. KoHeuHO, no nottbopKe cocjrra oh He
MO^ceT raraTBCH c mhotoahckobbimh AHCTpHbyraBaMH, ho co-
Aep^HT Bee HeobxoAHMoe AJin 6a30B0H paboTbi. IlpaB^a, ecTb
TaiQKe h DVD-Bepcnn, b kotopoh 3HauHTejibHO bojibine nojie3-
hbix npHjioxeHHH. Ho npn HajiHHHH xopomero noAKjnoHeHHH k
Cem 3to He HrpaeT peniaiomeH pojih.
Ubuntu TaiQKe rapaHTHpyeT nojib30BaTejiHM CBoboay (b Kjiaccn-
necKOM onpettejieHHH Free Software Foundation), hto 3atteKjiapHpo-
BaHO b ero MaHH(f)ecTe, no ttyxy HanoMHHaionteM jiHu;eH3HK) GPL.
KcTam, caMO cjiobo «ubuntu» npHnuio H3 oahoto ac£>pHKaHCKoro
HapenHH h 03HanaeT «ryMaHHOCTb», « h ejiOBen HOCTb no OTHomeHHio
k #pyrHM». nosTOMy HanpaBjieHHOCTb Ha kohchhoto nojib30BaTejiH
h obecneneHHe MaKCHMajibHbix yaobcTB — He npocTO OAHa H3 3attan
AHCTpnbyTHBa, a 4>aKTHHecKH ero cyniHOCTb.
YcTaHOBKa
Bo3moxho, HeKOTOpbix HHTaTejieir cnymeT Maji03HaHHTejibHbiH
Ha caMOM #ejie cjDaKT toto, hto HHCTajuiHTOp b Ubuntu — tckcto-
BBIH. To eCTb B AeHCTBHTeJIbHOCTH OH nceBAorpaclDHHecKHH, HO
3 to y ace #eTajiH. OAHaKO, Aaace ecjin bbi npHBbiKjin k neMy-jinbo
b CTHjie Fedora Core, Mandriva hjih SUSE, He nyraifrecb! Ha ca-
mom flejie c TeKCTOBbiMH HHCTajuiHTOpaMH 3anacTyio yzjaeTcn yn-
paBjiHTbcn enje bbiCTpee h 3(JxJ>eKTHBHee, neM c rpa(J)HHecKHMH .
Jl a h, ecjin npHKHHyrb, H3 bojiee neM Tpex cotch cynjecTByiomHx
AHCTpnbyTHBOB GNU/Linux a6cojnoTHoe bojibniHHCTBO Bce-
TaKH yCTaHaBJIHBaeTCH C nOMOnjblO TeKCTOBbIX HHCTaJIJIHTOpOB.
Tax hto coMHeHHH npOHb: 3 to HHHyTb He npennTCTBHe.
XoneTcn OTMeTHTb, hto HHCTajuiHTOp Ubuntu Ha caMOM Ae-
jie ao 6e3o6pa3HH npocT. Oh Aaxe tobopht no-pyccKH. nocjie
HacTpoiiKH H3biKa, KjiaBHaTypbi, cem h pa3AejiOB (3Aecb byztBTe
4/2005 LINUX CHIP
22
desktop I AM CTpn 6 yTMBbl
k&Mtw IWi O"!®
l" *4 - L "|j i" ", r'-fc, . *3 _ |_ jji _ i
. i ' Jr*"
a * |
.. J i f SJ* tr! rfrwM.iwaj
-iJ
. *J jil
|t 0*1 Hi* Slwwig L<a-n-]
■ ►w.*« Htfwttr
■ U rr**m*t Tod! <KPPP]
«£ ch«i iictTiwiiiii t«i!i
J flumct* Dtiklop Cormctuui MhfdJ
iton^Lwrort
HoBbiii KOKTeiiAb Kubuntu - KDE+Ubuntu
aKKypaTHee — no yMOJiaaHnio Ubuntu npeanaraeT ncnojn>30-
BaTb Beet BHHnecTep no CBoeMy ycMOTpemno) oh cpa3y nepe-
xoaht k KonnpOBaHHio naKeTOB Ha BHHaecTep. Hto HHTepecHo,
oh xe MHe npeanoaoui cxaaaTb aonojiHHTenbHbie naxeTbi ana
noaaepncxn pyccKoro a3bixa, kotopbix Ha aitcxe hct (eanHCT-
BeHHan Haxjiaaxa — 3to npeanoacemie 6buio OTobpaaceHO Ha
aHrjiHHCKOM). C 3thm a coraacnjica, oaHaxo peajibHoe cxaan-
BaHHe h ycTaHOBKa othx naxeTOB OTKJiaabiBaiOTca ao nepe3a-
rpy3KH b CBeacyio CHCTeMy.
Erne MHe noHpaBiuica Bbi6op aacoBoro noaca, xoTOpbin cpa3y
npHBeji k pa3flejiy «Europe/Kaliningrad», a nyHKT «Europe/Moscow»
men yace cneayroinen CTpoaxon. Menoab, ho Taxaa aoraanuBOCTb hh-
CTajuiHTOpa BecbMa npnaTHa. 3aTeM co3aaeTca hobbih nojib30BaTejib.
H, B03M03CH0, ctoht npeaynpeanTb T ex, kto He cobnpaeTca
CTaBHTb 3arpy3HHK GRUB H3 Ubuntu, a xoaeT cxoHcjDnrypnpo-
BaTb yace HMeiontnnca: noMHMO aapa /vmlinuz He 3a6yabre npo-
nncaTb initrd /initrd.img.
Ha 3tom nepBaa aacTb ycTaHOBKH 3axaH L i u BaeTca , h mbi noaxo-
Ahm k nepBOH 3arpy3xe b HOByio CHCTeMy.
onpeaejiHTb Ha MoeM Hoyrbyxe BHaeonjiaTy h paboTaTb c Hen.
Kax npaBHjio, npnxoanTca xonnpOBaTb oaHH h tot ace npOBe-
peHHbin BpeMeHeM xoHcjmrypaitnoHHbin cjDanji X. Ubuntu Bee
cmot caenaTb caM, 3a hto ero Hejib3a He noxBajinTb.
Be/iMK mm m y>KacHbiM root
Ecjih xto-to ayMaeT, hto a nponycTnji hto-to BaacHoe, oh ouih-
6 aeTca. BHaaane MHe Toace Tax noxa 3 ajiocb, nocxojibxy hhxto
He cnpaniHBaji napojib ana root, oaHaxo Ha caMOM aene 3to He
ctojib HeobxoaHMO b Ubuntu. B 3tom aHCTpnbyraBe HeT nojib-
30 BaTejin root. Ho nepBbin co 3 aaBaeMbin nojib 30 BaTejib MoaceT
BbinojiHHTb aaMHHHCTpaTHBHbie 3 aaaan, ana xoTopbix, npaBaa,
ot Hero noTpebyeTcn BBecra eme pa 3 cboh cobcTBeHHbin na-
pojib. Bee 3to paboTaeT aepe 3 sudo, cxeMa oaeHb noxoaca Ha
Mac OS. OaHaxo npn acenaHnn MoacHO nojiynnTb xohcojib c
npaBaMH root, ncnojib 3 ya xoMaHay sudo -s (hjih 3 anycxaa rpa-
(J)nnecxne TepMHHajibi ot hmchh no.Jib 30 BaTe.Jia root). MoacHO
aaace 3 aBecm HOpMajibHoro root, ecjin BaM coBceM 6 e 3 Hero
njioxo — BOcnojib 3 ynTecb sudo passwd root.
nepBan 3arpy3Ka
3aecb cncTeMa cpa3y HaanHaeT CTaBHTb naxeTbi (Ha nepBOM 3Ta-
ne OHa npocTO nx xonnpyeT c ancxa), n BnaHbi Mejixne Heaopa-
6 otxh: pyccxnn a3bix He OTobpaacaeTca, b jieBOM BepxHeM yrjiy
xpacyeTca xyaxa xBaaparaxoB h cjiobo «Ubuntu». npnaeM 3 to
CT aHOBHTca eme MeHee npnBjiexaTejibHbiM, xoraa noxa3biBaeTca
anajior HacTponxn pa3pemeHna axpaHa ana X. Ho Bee HHTyn-
thbho noHHTHO, a Gojibine hh Ha xaxne Bonpocbi BaM OTBeaaTb
He npnaeTca. Taxace H3 aocaaHbix Mejionen: bo BpeMa 3Toro npo-
itecca Ha axpaH nepnoanaecxn BbiBajinBajincb coobnjeHna aapa
o pa3Hbix Moaynax, HO Bpeaa ot ototo Hnxaxoro Hex
Bjinace x oxoHuaHHio npoitecca ycTaHOBxn naxeTOB 6buin exa-
naHbi n ycTaHOBjieHbi naxeTbi ana noaaepacxn pyeexoro a3bixa.
CxaanBaHne nara HeodxoanMbix naxeTOB 3aHajio MeHee 10 mh-
HyT npn exopoem 256 x6ht/c, to ecTb hto-to oxojio 20 M6anT.
Cpa3y nocjie ototo nepeao mhoh npeacTaa axpaH jiornHa. Pa3pe-
ineHne — 1024x768, Bee paboTaeT, xax n 3axa3biBajin. OTMeaaio
3 to, nocxoabxy He xaacabin ancTpHOyraB cnocobeH HOpMaabHO
CHIP LINUX 4/2005
o 6 3 o p Ubuntu 5.10
23
HacrojibHafl cpefla
HTax, 3axoAHM. Bot oh, GNOME, #aBHO ne BH^ejiHCb. Ha#o OTMe-
thtb, hto Ha caMOM #ejie a aaBHO cbbixch c KDE h He npeacTaBjTHK)
ce6e 6e3 Hero xomcJdopthoh acH3HH b rpacjmHecxoH cpette, ho TeM
HHTepecHee H3ynaTb ko h xypHpyio lh h e npettJioaceHHH . GNOME 3a-
rpy3Hjicii oneHb 6 bictpo h flanee pa6oTaji CTOJib ace bottpo, hto oneHb
npHHTHO (Boobnje, b njiaHe ckopocth pa6oTbi Ubuntu ocTaBjraeT
caMbie jiynume BnenaTjieHHn). Cthjib oc^opMjieHHH Ubuntu no
yMOJinaHHio aobojibho HHTepecHbiH, rjiaBHoe ero cbohctbo — 3to,
noacajiyit, HeHaBH3HHBOCTb. Kax noKa3ajia CTaTHCTHKa, noneMy-TO
nottobHoe ocjDOpMjieHHe oneHb HpaBHTcn ^eBynixaM.
Cpa3y nocjie jiomHa MeHH yBettOMHjiH o ttocTynHOCTH obHOBjie-
hhh, h r BOcnojib30Bajicn 3thm, jijir Toro HTobbi HeMHoro o6hobhtb
KOMnoHeHTbi CHCTeMbi. M 3 npHHTHoro Tyr ace obHapyacnjiacb noji-
HoiteHHan notmepacxa TannattOB Synaptics, xoth no yMOJinaHHio
noneMy-TO He HacTpoeHa ropH30HTajibHan npOKpyTKa. 3Byx paboTa-
eT (Hcnojib3yeTCH ESD h GStreamer noBepx ALSA), 3 By ko Baa cxeMa
flOBOJIbHO OpHTHHaJIbHaa, C HBHbIMH a(|)pHXaHCXHMH MOTHBaMH.
| MeflMaiecT |
Tenepb npoihteMcn no 3ByKy. BcTaBjineM USB-(})jiem — Ubuntu Be-
tter cebn xax Hatto, HAL h D-Bus HacTpoeHbi Ha CBH3xy c
GNOME, (J>jieni-ApaHB Tyr ace noHBjineTCH Ha paboneM CTOJie b bh-
tte HaKonuTejiH, h OTxpbiBaeTcn Nautilus, OTobpaacaiomHH (J>aHJibi.
B naMHTH (Jmem-HaKonHTejiH xpaHUTca cneunajibHo nottobpaHHan
KOJiJieKUHH My3biKajibHbix (J>aHJiOB b pa3Hbix (JopMaTax. Cyxon oc-
TaTOK — FLAC, MP3 h WMA cttajincb, npourpaTb h CMor tojibko
jinnib OGG. 3to oneHb CTpaHHO, nocKOJibKy njiamHbi FLAC rjw
GStreamer ecTb, h oh bbm npocTO obn3aH npompbiBaTbcn!
CoBceM Hexopomo nojiyniwocb c DVD: Totem ynpHMO OTxa3biBaji-
ch nponrpbiBaTb hx, a ot jthhh emiTHH ancK Pink Floyd «The Wall» yace
caM GNOME OTxa3ajicn BoenpHHHMaTb KaK Buaeo, npeanoacHB Ha He-
ro HTO-Hubyab sanncaTb. MenuaTecT aonaceH bbiTb npoitaeH h, HaBep-
Hoe, HaM He xBaTaeT KaKHx-TO nporpaMM. Hto y Hac c naKeTaMH?
naxeTbi
Ubuntu, hto BnojiHe ecTecTBeHHO , Hcnojib3yeT naxeTbi (jtopMaTa
Debian, ho, b OTjiHHHe ot ero MHoroHHCJieHHbix hotomkob, He
CTpeMHTCH obecneHHBaTb c hhmh bHHapHyio coBMecTHMOCTb.
Ubuntu Hcnojib3yeT xHTpyio CHCTeMy c HecKOJibKHMH peno3HTOpn-
hmh naKeTOB, ocjmitHajibHO noaaepacHBaeTcn He oneHb bojibmoe hx
KOJiHnecTBO, oaHaxo b paMKax coobmecTBa npeacTaBjieHbi npaxra-
necKH Bee naKeTbi Debian, a 3to bojiee 16 000 CBoboaHbix npo-
rpaMM. no yMOJinaHHio naxeTHbin MeHeaacep HacTpoeH Ha Hcnojib-
30BaHHe HMeHHO 0(J)Hii,HajibH0 noaaepxHBaeMoro peno3HTOpHH, h
aJin nojiyneHUH Bcex BxycHOCTeit Ha bjnoaenxe c rojiybon xaeMon-
KOH CTOHT Cpa3y xe BKJHOHHTb HCn0JIb30BaHHe pen03HT0pHH naxe-
tob, noaaepxHBaeMoro coobmecTBOM (Community Maintained
Packages). Tae? Kohchho ace, b Synaptic — 3HaxoMOMy nojib30Ba-
TejiHM Debian rpacjmnecxoMy HHCTpyMeHTy ynpaBjieHHH naxeTaMH.
Moxho Taxace nojib30BaTbCH xohcojibhbim apt-get, Toace
H3BecTHbiM nojib30BaTejiHM Debian h Hbmne aocTynHbiM b pa3Hbix
BapHaitHHx aJin ynpaBjieHHH naxeTaMH RPM, ho xohcojib mbi ocTa-
bhm aacnraTaM — Synaptic cjmmxoM yaobeH, HTobbi ero nraopH-
pOBaTb. B HeM h cpa3y nocTaBHji cryptsetup (a oh aocTyneH b Bnae
naxeTa b peno3HTOpHH coobntecTBa), HTobbi nojiynHTb aocTyn x
BHemHHM BHHnecTepaM, a Taxace pemnji nonbiTaTb cnacTbH c
totem-xine, xoTOpbin cpa3y ace npnxa3aji yaajiHTb ycTaHOBjieHHbin
no yMOJinaHHio totem-gstreamer.
MeflMaiecT 2
H hto bbi ayMaeTe? nocjie ototo Totem Hanaji CBoboaHO BOcnpOH3-
BoaHTb DVD! npaBaa, c ancxoM Pink Floyd npobjieMa Tax h He pe-
mujiacb, ho 3to yace He ero BHHa.
OaHaxo xax bbiTb c My3bixon? a oneHb npocTo! 3abbiBaeM npo
cymecTBOBaHHe Totem h RhytmBox, CTaBHM MPlayer (Bee aocTyn-
ho b Synaptic, Bee caMO cxanaeTcn h ycTaHOBHTcn) . Ha 3tom Me-
anHHbie npobjieMbi 3axaHHHBaiOTCH, nocxojibxy MPlayer nrpaeT
noHTH Bee, hto cyntecTByeT b ijh(J)pobom BH^e (iteHoii HajiHHHH He-
cxojibxhx HecBobottHbix bHHapHbix bubjiHOTex).
hibernate
YBHaeB cpean nymcroB BbixriOHeHHH xoMnbiOTepa B03M0acH0CTb hc-
nojib30BaHHH hibernate, h He mot ee He onpoboBaTb, nocxojibxy 3Haji,
hto Ha HcnbiTyeMOM acejie3e c hhm cjiynaiOTCH npobjieMbi . OaHaxo
MHe yztajiocb ycbinHTb h npobyztHTb xoMnbiOTep xax nojioaceHO, naace
4/2005 LINUX CHIP
24
desktop I a MCTpndyTMBbi
Nautilus npe/uiaraeT sarwcaib amck, ho He Bcew KoppeKTHO
u ■& g a e as & ^ x ti a ^ :
33 3‘n 0BGgm C|m-Qli) GeIBSEEI !
&M.I I b*r-. tel ifi*K rtN* '
a ,, [l/SBPffik ■□& I ? tUnMfl-tpnM . j=a Dnjtnil5^-3. fQie 1 QHHHfl
liHTeptjieHC OpenOffice.org TaKwe pycntpHUMpoBaH
c noAKJiHDHeHHbiM (})jiem-ApaHBOM. Suspend, oh xe hibernate — Ha
cero^HH Bee eme 3 xc n ep h Me HTajr bH an bo3moxhoctb, nocKOJibKy OHa
TpedyeT ueTxoro h cjiaxeHHoro B3aHMoaeHCTBHB annapaiypti h 110.
Pa3pa6oTHHKH Ubuntu cmotjih aobccth ee ao padonero coctohhhh Ha
AemeBeHBKOM Hoyrdyxe, hto deccnopHO 3acjiy*HBaeT yBaaceHHH.
PyCCKMM J 13 blK
3to ocodeHHO npHHTHbra MOMeHT b paccKa3e 06 Ubuntu. Xoth h
noTpedoBajiocb cxauHBaTb AonojiHHTejibHbie naxera, ho pe-
3yjiBTaT Toro ctohji: 6e3 xaxHx-jindo yxnmpeHHH b CHCTeMe cpa-
3y xe h nojiHOijeHHO HauHHaiOT padoTaTb pyccxon3biuHbiH bboa
(b «HKcax» oh nepeKjHonaeTcn c noMomtio «Alt+Shift»), a Taioxe
pyccKon3BiHHan jioxajiH3au;H5i. CncTeMa nojiHOCTBio (3a peAXH-
MH HCKJHOneHHHMH) TOBOpHT Ha pOAHOM H3bIXe, H 3TO OUeHb
npHilTHO. fla, KCTaTH, KaK H BCe COBpeMeHHBie AHCTpHdyTHBbI,
Ubuntu Hcnojii>3yeT no yMOJiuaHHio jioxajib UTF-8.
CeMewcTBo Ubuntu
Maciep nepeBon^omeHMM
Ha caMOM fle^e Ubuntu — He
TOJlbKO UenbHblH AMCTpn6y-
TMB, HO H CeMeMCTBO flMCTpM-
6yTMBOB, Mcno/ib3yiOLMMx ero
b KawecTBe ocHOBbi. nepBbiM
CTan Kubuntu, KaK mo>kho ao-
raAaTbcn, npeAJiaraiomMM b
KawecTBe ochobhom Hacio/ib-
hoh cpeAbi KDE. 3aTeM noATfl-
Hyjicn Edubuntu, a Tenepb
h ImpiLinux (AMCTpn6yTMB
c npiiue/iOM Ha ac|)pMKaHCKHx
no/ib30BaTe/ieM) T3K>Ke Hana/i
Mcno/ib30BdTb Ubuntu b Kawe-
CTBe OCHOBbl. AHa/IOrMMHO M
MoLinux, TO/ibKO oh pa3pa6a-
TbiBaeTcn b McnaHHH. Ot/iummb
Me>KAy AncTpn6yTMBaMM 3a-
K/iiOMaiOTCfl b nodaB/ineMbix
Ha A^CKax naneTax m HeKOTopbix
HacTpoHKax no yMO/maHMio.
JImhho MHe, KOHeMHo, oco6eH-
ho npMBTHO OTMeTMTb Kubuntu.
Ec/IM Bbl npMBblK/IM pa60TaTb
B KDE, B03M0MH0, CTOHT
o6paTMTb BHHMaHHe MM6HH0
Ha Hero. Mhoio 6bi n onpo6o-
BaH LiveCD, m, HecMOTpn Ha
HeKOTopbie mepoxoBaTOCTM,
b uenoM y Mena ocrajmcb ot
H ero npHHTHbie BneMauieHMfl.
Edubuntu coAep>Km AonojiHM-
Te/ibHbie naxeibi, Kacatoutwecn
o6pa30BaiejibHoro npwMeHe-
HMfl (b MaCTHOCTH, 6blCTpOM
opraHMsauMM ywe6Horo K/iac-
ca), h 3to AOBO/ibHO cn euM-
(jpmnan BeiAb.
npH/iowemifl
Hcxoah H3 ochobhoh padoneii cpeAbi b BHAe GNOME, nproioxe-
HHn b 6a30B0M Ancxe Taxace noAodpaHbi cooTBeTCTByiomne :
Firefox b xauecTBe ocHOBHoro 6pay3epa, Evolution b xauecTBe nou-
TOBoro KjineHTa, Gaim b xauecTBe IM-KaneHTa, rpa(J)HnecKHH pe-
AaKTOp GIMP h t. a.
EcTecTBeHHoe, b OTjiHnne ot pOAHTejin (Debian), 3 accb hc-
nojiB3yiOTcn caMBie CBeacne Bepcnn Bcex nporpaMM. 06 bihho 3to
npHBeTCTByeTcn AJin AOManiHero/HacTOJiBHoro npHMeHeHHn, ho
b cjiyuae cepBepOB y Bac Moryr 6 bitb cboh coodpaxeHHH HacneT
CTadHjiBHOCTH. XoTn, KaKHMH 6 bi hh 6bijih 3th coodpaxeHHii,
noAAepxKa AncTpudymBa b TeneHHe 18 Mecnu;eB BaM odecnene-
Ha. B tom uncjie h KOMMepnecKan.
KcTara, ecjiH bbi AyMaeTe, hto Synaptic — eAHHCTBeHHoe rpa-
(j)HnecKoe cpeACTBO ynpaBjieHHH naxeTaMH b Ubuntu, to onmdae-
Teci>. B MeHio GNOME Ubuntu ecTB npocTOH nyHKT «Add applica-
tions» (HeAOpadoTKa co ctopohbi nepeBOAHHKOB). BocnojiB3yHTeci>
hm, h bbi yBHAHTe ajiBTepHaTHBy Synaptic, KOTOpan He 6yAeT mo-
POhhtb BaM rojiOBy naxeTaMH, a noKaxeT onpeAejieHHBie npnjio-
3ceHHn Ha cbohx KOHKpeTHBix MecTax b Memo GNOME. KaKHe-TO
H3 hhx yxe ecTB, a xaKHe-TO moxho ycTaHOBHTB, npocTO nocTa-
bhb rajionxy (cooTBeTCTBeHHO, AJin yAajieHHH rajionxy haao
chutb). Bee 3aBHCHMOCTH, Bee HeodxoAHMoe Rim BBidpaHHoro
npHjioxeHHn ycTaHOBHTcn aBTOMaTHuecxH!
Ctoht cxa3aTB h o MeHee ho3hthbhbix Bemax. HexoTopBie
nojiB30BaTejiH h o6o3peBaTejiH OTMenaiOT HecTadHjiBHOCTB noBeAe-
hhh Nautilus, xoTOpBib nonpocTy jho6ht naAaTB (a coBceM 3JiBie
5I3 bixh yTBepxAaiOT, hto 3to o6mee cbohctbo GNOME). Ho 3a Bee
BpeMH TeCTHpOBaHHH HHUeTO nOAOdHOTO He np0H30IIIJI0 (xOTil B
Debian Taxoe cjiynajiocB He pa3). MoxeT 6bitb, 3to CBH3aHO c ycTa-
HOBJieHHBIMH odHOBJieHHHMH, B JHOdOM CJiyuae X CTadHJIBHOCTH
padoTBi Ubuntu HapexaHHH He bo3hhxjio.
B HejiOM xce padonan cpeAa b Ubuntu npHHTHan h, 3to ctoht ot-
MeTHTB eme pa3, onenb dbiCTpaa. Ecjih hto-to h ctoht noAnpaBHTb,
Tax 3to mpHcJiTbi: MOHonmpHHHbiH mpH(J)T no yMOJinaHHio BbirjiH-
AHT He OUeHb aACXBaTHO, AJM JiaTHHHAbI OH CMOTpHTCH HOpMaJIbHO,
ho Rim xHpHJuiHiibi yace coBceM Hexopoino. Ho 3to jierxo H3MeHHTb
b pa3Aejie «CncTeMa -> napaMeTpbi -3 HIpH(J)Tbi». B ocTajibHOM, He-
CHIP LINUX 4/2005
o 6 3 o p Ubuntu 5.10
25
i&ii
ftaAn fkn— . Bum nn*.-*q iurjj x tfrcii^n.xiu
. h I* ;i.i ruuH i kw *,u£i Line m - a rr»Dfk itiofr#,' rrd 1 1. 1
^-QiLima Stirttd 0 Ln*Jt h»»[fte*i
1 Q <4m JiMJ. J 3 :H
New updates available
About Ubuntu
.£3 ubuntu
linuv fnr hnrmsm
The Utuntij Project is toft on the ideas enshrined in the Ubuhtu Manifesto: that software should t>e avaiaOle free □> ctw^e,
that software toots should be usable by peooifi h their local lafiguooe. and that people should have the rreedom to customize
and alter the* software m Whatever way they need. For those reason^
* Ubuntu wrn aftwjfl oe free or charge, and there is m extra fee ter the -enterprise edtton-, we make our very pest work
avsWWe to everyone on the same Free terms.
• Ubljv u comas ywkh tof f*iJf!*Sfrbrtef sufiosvt m cemmactier »ms from hi*** *ds of <C*T*jari*i around the world, 1/ you
need those series. e«h new version of u&tmreeeMw free seeurty update* for 19 morths after release, some
vertkjns are supported for oven longer
• L*x*%u vat in* very best in jrfirmattons and occnOMy wnsarwaune th« the software corvwunty has to ofrer,
w itnaits Utxreu uiotie for at many peopta « poesajiif.
* Ubuntu is released regularly andpredctabfy; a new release Is madte every six months . Ibu can use the current stable
release or help Improve the current develcpooent release.
* The Ubuntu communky Is entirely comrrttted to the principles 0? free software dp^fqpmeht; we encourage pegpfc; to use
open source software, Improve It anO pass It on.
RAHK
a ft Murom ft I V Aicm i..fe,niu
1MU1
no/iynaeM mh cj] o p m a um hd o flociyriHbix oShob/ighmax c noMombio
Hefio/ibiuoro aruieia
CMOTpH Ha OTCyTCTBHe pa3H006pa3H5I HaCTpOeK, Ha^O npH3HaTL,
hto GNOME b Ubuntu BnojiHe npnroaeH k Hcnojn>30BaHHio h
U pe3BBIUaHHO npOCT B OCBOeHHH.
Pa3pa6oTMMKy
Ubuntu, KaK n nojiaraeTcn nojmoiteHHOMy ancTpHbyTHBy
GNU/Linux, HMeeT b CBoeM cocTaBe Bee HeobxoaHMoe rjw pa3pa-
Gotuhkob. npaB^a, Ha HHCTajijnmnoHHLiH CD Bcero He yMecTHuit,
nOSTOMy HeKOTOpBie HHCTpyMeHTBI npH^eTCH CKaHHBaTb OT^eJIBHO.
OflHaico HHCTpyMeHTBI pa3pa6oTHHKa — Taxxe oaHa H3 HHTe-
pecHBix TeM b pa3TOBOpe 06 Ubuntu, nocKOJiBKy Canonical cnoH-
cnpyeT pa3pa6oTKy chctcmbi kohtpojih Bepcnn Bazaar, a MapK
IIIaTTJIBOpT 3aHBJI5ieT O HeobxOAHMOCTH 6oJiee TeCHOTO B3aHMO-
flencTBHH pa3pa6oTHHKOB h coobiuecTB. Ilo3TOMy Ubuntu paboTa-
eT TaKxce Haa yjiyumeHHeM 3(J)(J)eKTHBH0CTH B3aHMoaeiiCTBHH co-
3ttaTejieH CBoboaHoro 110. ITomhmo chctcm kohtpojih Bepcnn 3 to
3aTparnBaeT bar-TpeKepbi n cepBncbi rjw nepeBoaumcoB.
y>xe xoth 6 bi no3TOMy (a TaiQKe bjiaroaapn Hajinunio CBexcanme-
ro Habopa HHCTpyMeHTOB) pa3paboTUHKy MonceT 6 bitb nnrepecHO
HanaTB 3HaKOMCTBO c Ubuntu, ho h 3 to He Bee, hto oh MonceT npea-
jioxchtb. Kax HacueT B03HarpaxcaeHHH 3a paboTy Hat* cbo 6 oahbim
no? fla, b Ubuntu ecTB n TaKoe: BBibnpaHTe paboTy no BKycy, 3 to
xoponinn cnocob nonpaKTHKOBaTbcn n no3HaKOMHTbcn KaK c ca-
mhm cocJitom, TaK n c ero pa3paboTHHKaMH.
| Coo6mecTBO |
Ha Bonpoc «HeM nee TaK xoporn Ubuntu?» MHorne HHOCTpaHHBie
nojiB30BaTejin 3aKaTBiBaiOT rjia3a n c npHUbixaHueM npon3HOCHT:
«0, aa 3 to >xe community!» H oto aencTBHTejibHO TaK, Ubuntu cy-
Meji cobpaTb BOKpyr cebn KpenKoe coobntecTBO nojn>30BaTejien.
MHoraa KaxeTCH, hto, aaxce ecjin 6 bi Ubuntu Mano neM otjih-
najicii ot apyrnx aHCTpnGyTHBOB c TexHnnecKon tohkh 3 peHHH,
ero Bee paBHO moxho 6 bijio 6 bi neTKO onpeaejinTb no coobmecT-
By. Ubuntu npocTO OKpyxaeT ayx B 3 anMonoMomn n obuteHnn: k
BaniHM ycjiyraM cjiopyMbi, 6 jioth pa 3 pa 6 oTHHKOB, nonTOBbie pac-
cbijikh n KOH(J)epeHij;HH, IRC, wiki-canTBi, pa 3 JinnHBie pecypcbi
jnoGnTejien Ubuntu n MHoroe apyroe.
H 3 yneHne CTpyKrypBi n B 3 anMoaencTBHH coobmecTBa, n npocTO
HaGjuoaeHne 3 a ero paboTon n pa 3 BnmeM rnnHOTH 3 npyeT! He
npoHHKHyTbca 3thm h e bo3 m o>kho , He BjnobnTbCii nocjie 3toto b
Ubuntu oueHb cjioxcho. H tojibko oaHO MOxceT ocTaHOBHTb Bac Ha ny-
th 3 HaKOMCTBa c 3thm CBoeo 6 pa 3 HBiM MHpoM — H 3 BIKOBOH 6 apbep.
OaHaKO ecTb n Harne, poccnncKoe, coobmecTBO nojib 30 BaTejien
(www.ubuntu.ru) — He ctojib MHoronncjieHHoe, ho Toxe Bnojme apy-
xcejnobHoe n HMeiomee b aKTHBe aocTaTOUHO obinnpHbin n xoponinn
(J)opyM, rae peiuaiOTCH b tom nncjie n nepeBoanecioie npobneMbi.
Ectb Taicace pyccKOB 3 biHHbiH IRC-KaHaji n nouTOBan KOHctiepennHa.
I Pa3BMTMe I
Ubuntu pa3BHBaeTC5i onenb cTpeMHTejibHO, cjieayiomHH pejin3 bbih-
aeT yxce b anpejie! OxnaaeTCH, hto b HeM 3HannTejibHO yjiyninnTCii
noaaepxKa Bluetooth (b GNOME aencTBHTejiBHO MajiOBaTO coot-
BeTCTByiOIItHX yTHJIHT), np0H30HaeT OHeHb MHOrO H3MeHeHHH b 06-
jiacm paboTbi c ycTponcTBaMH Ha paHHeM 3Tane 3arpy3KH cncTeMbi,
a TaioKe byaeT npon3BeaeHO MHOxcecTBO apyrnx aopaboTOK.
Ho ocoboe BHHMaHne ctoht obpamTb Ha pejiH3 6.10, KOTOpbin
aojixeH bbihth b OKTiibpe 2006 roaa. MapK IIIaTTJIBOpT y ace no-
obemaji aaTb aocTOHHbin otbct BBixoay Windows Vista (KOTOpan
noHBHTCH no3aHee). H, cyan no cyMacmeanieMy B3JieTy nony-
jinpHOcm Ubuntu, oto He npocTO cjiOBa.
| Pe3K>Me |
Ubuntu — HHTepecHenniHH aHCTpnbyraB n eiue bojiee HHTepec-
Hoe coobmecTBO pa3paboTUHKOB n nojib30BaTejien. B ero aKTHBe
npeKpacHan noaaepxcKa annapaTypbi n KanecTBeHHan jiOKajiH3a-
ann (ho, HanoMHio, Tpebyioman HeMHoro HHTepHeT-Tpa^HKa),
apyncHoe coobntecTBO n neTKoe BnaeHne cobcTBeHHoro pa3BH-
mn. Ubuntu naeajibHO noaxoanT Ha pojib nepBoro aHCTpnbyTHBa
aJin HenoaroTOBjieHHoro nojib30BaTejin, ho MonceT c ycnexoM nc-
nojib30BaTbcn n cneanajincTOM (ocobeHHO ecjin oh HMen aejio c
Debian). B jnoboM cjiyuae, ecjin bbi HaxoanTecb b noncxe hobo-
ro/nepBoro aHCTpnbymBa, obpamTe Ha Hero (hjih Kubuntu, hjih
E dubuntu — no BKycy) BHHMaHne — MonceT bbiTb, 3 to hmchho
TO, HTO BaM HyXCHO. |
4/2005 LINUX CHIP
26
desktop I Ha c ji y >k 6 e h a y k m
PoMaH NaMeflOB
flapMOBOM
cynepKOMnbWTep
3Haeie /in Bbi, iokoh npopecc H3 3 anymeHHbix cePmac Ha BaweM KOMnbKrrepe caMbiPi
KpacMBbiPi? A caMbm Be>K/i m Bbi Pi? Bonpoc HeojKMflaHHbm. Ho mmchho TaK — «KpacnBbm»,
«Be>K/iMBbiM» — mo>kho nepeBecrn TepMMH nice, KOTopbiM o6o3HaHaeTC^i noKa3aie/ib
npHopmeTa 3anymeHHoro npoijecca b Linux. Ha MoeM, a Taione Ha KOMnbKrrepax coTeH
TbOH /UOflePl no BCeMy MMpy «CaMblMH Be>K/mBblMH» npopeCCaMM — HMeKHMHMH
Han6o/ibiuee 3HaneHMe nice (a 3H3HMT caMbm hm3kmm npnopmei) — ab/i/hotca nporpaMMbi
pacnpefle/ieHHbix BbiHHc/ieHnPi, Hcno/ib3yfomHe Bee CBo6oflHoe BpeM/i BBepeHHoro mm
KOM nbfOTepa bo 6/iaro Hayxn.
BojibinyK) uacTb BpeMeHH CBoero npedbiBaHHH bo BKjnoueHHOM
COCTOHHHH Cpe^HeCTaTHUeCKHH COBpeMeHHblH KOMIIBIOTep
npocTO npocTanBaeT, oxcHyan BBO^a ^aHHtix nojiB30BaTejieM.
fljiB MHoromrarepiieBBix npoyeccopOB BpeMH Mex^y HaxaTHH-
mh xjiaBHin npH nenaTH, noxa nojiB30BaTejiB uHTaeT c 3xpaHa
KaKOH-HH6ya;B TexcT hjih HeHaa;ojiro OTOineji ot KOMiiBioTepa, —
iiejian BeuHOCTb.
Ho, k cuacTbio, Taxaa rpoMayHaa BbiuHCJiHrejibHan mo nib —
MHjijinapABi onepayHH b cexyH^y, noMHoaceHHbie Ha cothh mhjijih-
ohob KOMnBioTepOB — He^ojiro ocTaBajiacb HeBOCTpedoBaHHOH.
B HaniH jxww xaxyibiH xejiaiomHH 3aHHTb CBodoAHoe BpeMH CBoero
KOMnbiOTepa ueM-HH6yflb nojie3HbiM BnojiHe MOxeT c^ejiaTb 3 to,
npHCoeAHHHBiHHCB k o^HOMy H3 npoexTOB pacnpeAejieHHBix bbi-
HHCJieHHH. CaMH pacnpe#ejieHHbie BbiuHCJieHHH (#ajiee PB) — 3to
cnoco6 BbinojiHeHHB KaKHx-jin6o pacneTOB nyTeM hx pa3,aejieHHH
MeXfly MHOXeCTBOM KOMnblOTepOB .
B 3toh CTaTBe penb noH^eT o npoexrax PB, padoTaiomHx uepe3
HHTepHeT h 3aAeHCTByiomHx KOMnbiOTepBi o6bihhbix nojib30BaTe-
jien (c hx Be^OMa, pa3yMeeTcn) rjw BbinojiHeHHH pa3Horo po^a
cjiOvKhbix HayHHbix pacneTOB. YuacTByn b noyodHbix npoexTax,
moxcho noMOHb HCCJie^OBaTB CTpoeHHe 6ejiKOB h reHeTHuecxnx
CTpyKTyp, HaHTH jiexapCTBO ot paxa h CnHfla hjih ^axe
noco^eHCTBOBaTB b noHCxe cnmajiOB BHe3eMHBix u;HBHjiH3aiiHH.
06bihhoh pa6oTe (hjih nrpe) Ha KOMnbiOTepe 3to a6cojiiOTHO He
MernaeT — HcnojiB3yiOTCn tojibko momchtbi 6e3,aeHCTBHH.
H, KOHenHO ace, roBOpHTB mbi 6yaeM TOJibKO o Tex npoexTax,
ynacTHe b kotopbix yocTynHO n ojt b30 BaTeji a m Linux.
C Hero Bee Hanasiocb
Moxcho cxa3aTb, hto hctophh MaccoBbix pacnpeyejieHHbix BbiuHCJie-
hhh uepe3 HHTepHeT Hanajiacb c npoexra distributed.net. CaMbiii no-
nyjiHpHbiH H3 ero noy npoexTOB — RC5 — saHHMaeTca b3jiomom 3aniH-
(J)pOBaHHbIX OflHOHMeHHbIM KpHnTOaJITOpHTMOM COOduieHHH H 06iI3aH
cbohm cymecTBOBaHneM KOMnaHHH RSA Data Security, xoTopaa Bpe-
mh ot BpeMeHH c uejibio npofleMOHCTpHpoBaTb Haye>KHOCTb pa3pa6a-
TbiBaeMbix eio ajiropHTMOB niH^pOBaHHH ycTpaHBaeT nydjinuHbie koh-
CHIP LINUX 4/2005
pacnpe^e/ieHHbie BbiHHCJiGHMn b Linux
27
B noMCKax noflofiHbix aHOMaxiHM Ha rpac|]M-
Ke tpaHaTbi npoeKTa npocHXCHBanH 3a mo-
HHTOpaMH flOJIfMe Hacbl
B flaHHOM cnynae Mbi sacex^iM Bcero Jimub
nOHMJKeHMe HyBCTBHTeflbHOCTM npHBMHHKa
Ha onopHOM Hacme 1420 Mfu
A 3flecb - noMexM ot MHTeptpepeHUMM
C Ha3eMHblMH MCTOHHMKaMM MJ1M
cnyTHHKaMH. Xoth, kto 3HaeT...
Kypci>i no B3JiOMy 3anmc[)pOBaHHbix hmh coobmemiH c npnaaMH b
H ecKOJibKO Tbican aojuiapOB. YnacTHHKH npoeKTa distributed.net yxe
BBinrpBiBajin TaKne kohkypcbi, ycneniHO noaobpaB kjhoh k 3amn4)-
pOBaHHBiM anropHTMaMH RC5-56 n RC5-64 coobmeHHHM. B aamioe
BpeMH HfleT copeBHOBaHne no B3JiOMy RC5-72, oaHaico, no HeKOTO-
Pbim on,eHKaM, H3-3a B03pocmen no cpaBHeHnio c npexHHMH npo-
eKTaMH ajihhbi icmona nojiyneHnn pe3yjiBTaTa, aance c yueTOM nocTO-
hhhoto pocTa aocTynHbix npoeicry BbinncjinTejibHbix MoniHOCTen,
npnaeTca >KaaTb HecKOJibKO thchh jieT.
Xoth distributed.net cymecTByeT oneHb aaBHO, npeaenoM ero
MeuTaHnn ao chx nop HBjineTCH BHHMaHne 3my3HacTOB, jih6o hh-
TepecyFOuxHxcH pacnpeaejieHHbiMH BbiuHCJieHHHMH KaK TaKOBbiMH,
jih6o KpnnTorpa^nen n MaTeMaraicoH. AnepBbiM npoeKTOM, nojiy-
hhbhihm no-HacTonmeMy ninpOKyio H3BecTHOCTb n nonyjiHpHOCTb
cpean odbiHHbix nojib30BaTejien, CTaji, HecoMHeHHO, SETI@home.
Ero pyKOBOAHTejin npean o>kh jt u BceM ncejiaiomuM npnHHTb ynac-
me b noncxe cnmajiOB BHe3eMHon pHBHjiH3aiAHH . npumtim pa6o-
tbi npocT: pa^HOTenecKon obcepBaTOpnn b Apecnbo nocTOHHHO
3anncbiBaeT KOCMnnecKun inyM, jieHTbi c hhm nepecbuiaiOTCH b
« niTa6-KBapTHpy» SETI@home b BepKjin, rae cneiinajibHbie cepBe-
pbi (cnjiHTTepbi) Hape3aK)T aamibie Ha MejiKne Kycomcn n paccbma-
bdt KOMnbiOTepaM ynacTHHKOB rjw o6pa6oTKH.
OaHaKO Bbicoxan nonyjiHpHOCTb — b npoeicre 3aperncTpnpOBaHO
6ojiee 4 mjih I1K — obepHyjiacb jsjm SETI@home n tojiobhoh 6ojibk).
flejio b tom, hto pocT aocTynHbix npoeicry BbiuHCJiHTejibHbix molliho-
CTen men ropa3ao Obicrpee, ueM yBejinueHne nocTynapomux c Tejie-
CKona aaHHbix jijw aHajiH3a n cnocobHOCTen cruinirepOB no nx nepe-
fleTa/in
MHm6MT0p flJlfl BbIHMCJIGHMM
riOMMMO paCCblJIKM OflHMX H
Tex >xe AaHHbix f\nn 6opb6bi
C «M36blTKOM» BblHMC/lMTe/lb-
hom moimhoctm cymecTByeT M
A pyrow cnoco6. PyKOBOAMTe/iM
npoeKTa SETI@home BHec/m
b TpeTbto eepcrno K/ineHTCKO-
ro no HOBbie, ropa3AO 6o/iee
TiAaTenbHbie m MeA/ieHHbie
anropMTMbi aHann3a 6 jiokob
A dHHblX. Ho, no MHeHMK) HeKO-
TOpblX, C TOHKM 3peHMH B03-
MO>KHOCTM MMM HTO-TO o6Hapy-
HCMTb 3TM 3/1 TOpMTMbl HB/lH/lMCb
AOBO/ibHo-TaKM 6ecno/ie3HbiMM,
npM 3TOM pOCT BblMMC/lMTe/lb-
HOM MOLAHOCTM npOAO/l)Ka/lCH,
m BCKope npoeKT aoctmt noxa-
3aTe/iew M36biTOHHocm, He-
mhotmm ycTynaioiAMM TeM, hto
cyiuecTBOBa/iM eu\e ao BbixoAa
«3aMeA/ieHHOM» Bepaw.
paboTKe. Ilo3TOMy, hto6bi He OTKa3biBaTb b perucTpanuH hjih 6jio-
Kax aaHHbix hobbim yuacTHHKaM, npoeicry npnmjiocb HanaTb pac-
cbmaTb oaHy HTyxe, ynce o6pa6oTaHHyio, HH^opMapnio no mhoto
pa3. no CBeaeHHHM He3aBncnMoro caiiTa CTamcTHKH ( www. roving -
mouse.com/setiathome), H36biT0HH0CTb «KjiaccnnecKon» Bepcnn
SETI@home aocmrajia (JiaHTacTHHecKux BejinunH b 50—100 Kpax
Kyfla iifleM?
Cnocob ncnojib30BaHHH «jinmHnx» BbinncjinTejibHbix moii/hoc-
Ten, 3aKjnonaiomHHCH b noBTOpHOM obcneTe HHcjDopMaijHH jih6o
B HCKyCCTBeHHOM H He npHHOCHII/eM ocobon nOJIB3bI yCJIOHCHe-
HHH ObpabOTKH OAHHX H Tex HCe aaHHbIX, He nOHpaBHJICH HHKO-
My, BKjnonaH cbmhx bbtopob SETI@home. Topa3ao jiornnHee
6buio 6bi, ecjin 6bi npoeKT, y KOTOporo Ha momcht obpan/eHHH
KOMnbiOTepa ynacTHHKa 3a hoboh noppnen aaHHbix o6chhtbi-
BaTb 6 bijio 6bi ocobo Henero, cmot BMecTO noBTOpHon ompaBKH
«CTapon», y xe obpaboTaHHon, noppnn necmo 3aHBHTb: «Pa6o-
tbi cennac HeT, 3ananTe no3nce». A KjineHTCKaH nporpaMMa yna-
CTHHKa CMOTJia 6bl 3TOT OTBeT nOHHTb H nepeKJHOHHTbCH Ha
noMon/b KaKOMy-Hnbyab apyroMy npoeKTy — TOMy, KOTOpOMy
AonojiHHTejibHbie pecypcbi b 3tot KOHKpeTHbiii momcht BpeMe-
hh aeHCTBHTejibHo HeobxoAHMbi. flaHHbiii noaxoa h 6biji peajin-
30BaH aBTOpaMH SETI@home b hx hoboh njiaTcj/opMe artn pac-
npeaejieHHbix BbiHHCJieHHH, nojiyuHBmeH Ha3BaHne BO INC.
TexHMHecKiie tohkoctm
HeodxoflMMbie cf/aH/ibi
CaMbiM 60/ibLUMM cpean poc-
cbinn 3aKaMMBaeMbix npoex-
tom Rosetta@home c|3aM/iOB
HB/ineTcn co6ctbchho pacMeT-
HbiM MOAy/ib Rosetta — okojio
7 M6awT. OneBMAHO, hto ero
3arpy3Ka noTpebyeTCH zimub
npn nepBOHana/ibHOM noAK/iio-
neHMM k npoeKTy, Hy m npn
BbixoAe ero 60/iee hobhx Bep-
cmm. BTopbiM no pa3Mepy hb-
/ineTcn 6-Mera6awTHbiM 4>aM/i
c 3araAOHHbiM Ha3BamneM
bbdep02.May.sortlib.gz, koto-
pbiM He o6hob/ih/ic/i a>K c Man
Mec/iua (bo3mo>kho, p,a>Ke
2002 roAa) m He co6wpaeTcn,
6yAeM HaAenTbcn, c/ihlukom
H aCTO o6HOB/lHTbCn M B RBJ\b-
HeMmeM. TaKoe noBeAeHMe
AOBO/ibHo xapaKTepHo nna pac-
npeAe/ieHHbix npoeKTOB: cxa-
naHHbie npn nepBOHana/ibHOM
nOAK/llOHeHHM Cf)aH/lbl b Aa/ib-
HeMmeM noABepraiOTcn no-
BTOpHOMy MCn0/lb30BdHHK) Ha-
CTO/lbKO HaCTO, HaCKO/lbKO 3TO
HB/meTCH B03M0>KHblM.
4/2005 LINUX CHIP
28
desktop I Ha c ;i y >k 6 e h a y k m
Pro juCL UHL
htoMUUft. OrtfrH t Ell.
ri» nvf Jnd fJQi *. I*i fi»» himw^ ■M'lu hut.
Fw i Hr *t KVK-bMri WflHrU to w :
http^/fcolnc Jberkoley .eeW
_L
J.
HT 06 bl npHCOeAHHHTbCfl K BbIHHCilGHMflM,
npe*Ae Bcero Heo 6 xoflMMO yKa 3 aTb URL
MaBHoii CTpaHHUbi npoeKTa
Acc&uriL infunnuliun
P4 >*u i hM I A -.Hi m *udryi kVij
X
J.
3 aperncTpMpoBaTb hobbim aKKaym Tenepb
mowho h M 3 caMoro KJineHTa - paHee sto
npMxoflMJiocb AejiaTb nepe 3 caMT
| BOINC |
| http://boinc.berkeley.edu |
Attached to project
Yird ATI rm SrticuhJr klnJmj l.j
| UMi | CtWJ |
KoMnbioTep totob TpyAMTbcn bo 6 /iaro HayKH!
3
O Projects | [J Workj j ^ Transfers | E3 Messages | d Statistics | ^ Disk j
Project | Application | Name
| CPU time | Progress | To completion | Report deadline | Status
Berkeley Open Infrastructure for Internet Computing (BOINC) —
3 to BecbMa ycnenman n yace ouem> nonyjmpHan xax cpean
aBTopoB, Tax h cpe/m ynacTHHKOB b bi h n c ji n Teji b h aa roiaT^opMa,
3a#ana KOTOpon — yHHcjDHKaijHH odnjHx no (J)yHKu;HOHajibHOCTH
MOflyiieH KjineHTCKoro n cepBepHoro IIO pa3JiHHHbix npoeKTOB.
Pa3pa6oTHHKaM pacnpe/iejieHHbix HaynHbix npoexroB, yneHbiM —
cnei^najiHCTaM b o6jiacTH 6nojiomn, Me/mijHHbi, KpnnTorpa(J)HH n
npOHHx Hayx — 0Ha npnmjiacb no BKycy 6jiaronapa TOMy, hto npn
ee Hcnojib30BaHHH hm 6ojibme He Hyaoro 6 bijio pa36npaTbCH c
TaKHMH CKynHbIMH H 6eCKOHeHHO AaJieKHMH OT o6jiaCTH HX
HCCJieAOBaHHH BemaMH xax opraHH3aijHH CHCTeMbi peracTpaijHH
nojib30BaTejieH, pa3pa6oTKa cncTeMbi CTaTHCTHKH, OTjia^Ka
B3aHMOfleHCTBHn KjiHeHTCKoro h cepBepHoro IIO h t. a. Bee y ace
totobo — npH^yMaHO, HanncaHO h OTjiaaceHO aBTOpaMH BOINC.
OcTaeTcn 6paTb h nojib30BaTbca. npe/yiaraeTca Hcnojib30BaTb
jno6oe no BOINC — ot KaneHTCKoro MOAyjia #o cepBepHbix PHP-
CKpnnTOB — b HCxoflHHKax, no# jiHijeH3HeH GNU GPL, a
pa3o6paTbCii bo BceM otom noMoaceT flocTynHaa Ha caifre BOINC
noApo6HeHman floxyMeHTaijHa no C03flaHHK) Ha ocHOBe otoh
iuiaT(J)opMbi co6cTBeHHoro npoexra PB c Hyjia.
Abort
^Connected to localhost
Okho BOINC Manager coAepwMT MHtpopMauHH) o Ha 3 HaneHHbix
AaHHOMy KOMnbioTepy 3aAaHMdx
nocTeneHHO yjiyninaTb Hcnojib3yeMbie b Rosetta (J)H3HHecKyio
MOflejib h ajiropHTMbi noncKa. A noMOHb hm b 3tom ^ojiacHbi pe-
3yjibTaTbi HccjieAOBaHHH Rosetta@home.
/Jjia yuacTHH b npoeKTe HaM npeac/je Bcero noHa^odHTca 6a30-
BbiH KiiHeHT BOINC. CKamreaeM c canra http://boinc.berkeley.edu
(J>aitji c caMoii CBeaceii BepCHeit — Ha momcht HanHcaHna CTaTbH
3 to boinc_5.2.7_i686-pc-linux-gnu pa3MepOM 3,4 M6aifr — h 3any-
cxaeM. /],HCTpH6yTHB C03naeT b TeKymeM KaTajiore nonKaTajior
BOINC, Kyaa h pacnaKOBbiBaeTca Bee CBoe co^epacHMoe, nocjie
nero coodmaeT, hto rjw 3anycKa kohcojibhoh Bepcnn BOINC cjie-
A yeT Hcnojib30BaTb CKpnnT run_client, a ana 3anycKa Bepcnn c rpa-
(J)HHecKHM HHTep(J)eHCOM — runmanager. KpOMe Toro, oh npomr-
cbiBaeT b 3thx CKpHnTax nojiHbiH nyrb k C03aaHH0My noAKaTajiory,
Tax hto npn HeodxoaHMOCTH Kyaa-jin6o ero nepeMecTHTb Hyaoro
Rosetta@home
| http://boinc.bakerlab.org/rosetta |
HTax, nopa nepeifra ot Teopnn k npaKTHKe. PaccMOTpHM npoijecc
npHeoeaHHeHHH k padoTaiomeMy Ha njiaT(J)opMe BOINC npoexry
Ha npHMepe 3anymeHHoro HeaaBHO Rosetta@home.
3to HayHHoe HccjieaoBaHHe, npoBoaHMoe oahoh H3 jiadopaTO-
pHH BamHHTTOHCKoro yHHBepCHTeTa, pe3yjibTaTaMH KOTOporo
aojDKHbi cTaTb HOBbie MeToabi (ajiropHTMbi), noMoraiomne c bhco-
koh TOHHocTbio 3aHHMaTbCH MoaejiHpoBaHHeM, npeacKa3aHHeM H
aH3abHOM 6ejiKOB. HajiHHHe npoBepeHHbix ajiropHTMOB Moaejin-
pOBaHHH noMoaceT HccjieaoBaTejiaM pa3pa6aTbiBaTb jiexapCTBa
ana jieneHHH pa3JiHHHbix 6ojie3Heii, Bbi3biBaeMbix HapymeHHHMH
CTpyKTypbi dejixa. Cbohm Ha3BaHHeM npoeKT o6a3aH jiexameMy
b ocHOBe ero KjineHTCKoro no Moayjno Rosetta, KOTOpbiH 6 biji
H 3HanajibHO C03aaH aJin npeacKa3aHHH TpexMepHOH CTpyKTypbi
dejixa H3 ero aMHHOKHCJiOTHoir nocjieaoBaTejibHOCTH. Co BpeMe-
HeM b Rosetta hohbhjihcb (J)yHKu;HH an3aHHa h npeacKa3aHHH
6ejiKOBbix KOMnjieKCOB. Abtoph npoeKTa HaaeiOTca npoaojiacHTb
3to ynecTb h cooTBeTCTByiomHM o6pa30M hx noanpaBHTb. 3arpy-
xaeM rpa^HHecKyio Bepcmo BOINC. nocKOJibKy 3 tot nepBbin 3a-
TexHMHecKtie tohkoctm
OcodeHHOcm aBT0pM3aUMM
Ctomt OTMeTMTb, mo cxeMa aB-
Topn 3 aunM no e-mail m napomo
Ann BOINC OTHOcmejibHO Hoea.
PaHee b ocHOBaHHbix Ha HeM
npoeKTax ncnoab30Banacb aB-
Topn3aun n no ceKpemoMy
Account Key, BbicrynaBiueMy
OAHOBpeMeHHO B POJIM M yHM-
KanbHoro Mfle HTMc|3MKaTopa, m
napo/m Ha M3MeHeHMe MHcfjop-
Ma 141111 . Koe-rfle Tana a cxeMa
iicnonb3yeTcn 11 no ceil fleHb
(b 3tom cnyMae KniieHT BOINC
KoppeKTHo ee o6Hapy>KMBaeT, m
BM ecTO no a a c bboaom napo/ia
noaenaeTca none nna Account
Key). CymecTBeHHbiM ee hcao-
daTKOM aBaaeica OTcyTCTBiie
bo3mo>khoctm 3apemcTpnpo-
BaTb HOBbiM aKKaym npaMO 113
KJineHTa: Heo6xoAHMO 3anTii
Ha caiiT npoeKTa, 3aperwcTpn-
poBaTbcn TaM, AO>KaaTbca ajieK-
TpoHHoro micbMa c aaeeTHbiM
Account Key n TOJibKO nocjie
3 toto noAKJUOMaTbca k npoeKTy.
CHIP LINUX 4/2005
pacnpefle/i@HHbie b bi h h c ii e h h 9 b Linux
29
nycK, HaM 6yaeT npeaJioxeHO yKa3aTi> aapec maBHOH cTpaHHHbi
npoeKTa, k KOTOpOMy mli acejiaeM npHeoeaHHHTBen.
B cjieayionjeM OKHe MacTepa Hyxrio jih6o yxa 3 aTb e-mail h na-
pojib k yxe C 03 flaHH 0 My b npoeKTe aKtcaymy, jih6o 3 aperacTpnpo-
BaTb hobbih (b 3tom cjiyuae napojib npHaeTcn BBecm aBa>KaBi).
Ilocjie co3aaHHa HOBoro aKKayHTa BOINC npeaJioxHT 3 anaTb
ero napaMeTpbi, otkpbib b 6pay3epe pa3aeji HacTpoeK Ha caftTe
npoeKTa. BnpoueM, caejiaTB 3to moxho h no3xe, npocTO 3aHan Ha
caHTe npoeKTa b pa3aeji «Your Account» h HanncaB Bbi6paHHbie
npn perHCTpaHHH aapec nouTBi h napojib. TaM ace yKa3biBaeTCH
BBiaejineMoe no a npoeKTbi BOINC MecTO Ha ancKe, ycTaHaBjinBa-
eTCii pexHM pa6oTbi KjineHTa (aonycraM, moxho caejiaTB, hto6bi
oh pa6oTaji tojibko b onpeaejieHHBie uacbi), HacTpanBaeTcn oto6-
paxaeMan rpa(J)HKa (ecjin OHa ecTb) h t. a. Bo Bcex npoeKTax
BOINC ecTb He tojibko «jihhhbih 3aueT», b kotopom yuacraHKH
BbicTpanBaiOTCii b nopH^Ke KOJinnecTBa Ha6paHHbix hmh 3 a o6pa-
6oTKy 6jiokob aaHHBix ohkob, ho h KOMaHAHbin, rae copeBHyiOTcn
o6pa30BaHHbie hmh KOMaHaBi. Ilo3TOMy TaM xe, b pa3aejie HacT-
poeK aKKayHTa, ecTb bo3mo:»choctb jih6o npHCoeaHHHTBCH k oahoh
H3 KOMaHA (HanpHMep, k «Russia», o6i>eaHH5HOiaeH pocchhckhx
ynacTHHKOB npoeKTa), jih6o C03aaTB cboio.
BepHeMCH k noAKjnonaeMOMy HaMH npoeKTy. Cpa3y nocjie
npHeoeAHHeHHB moxho OTKpbiTb 3aKjiaAKy «Transfers» h yBH-
aeTB, hto BOINC yxe bobcio 3aH5uicii 3aKauKOH Moayjien, Heo6-
xoahmbix arm ynacTHH b Rosetta@home h 3aHHMaiomHx okojio
17 M6aiiT. BaxHO otmcthtb, hto noaodHBiH o6i>eM Tpac[)HKa ao-
BOJIbHO-TaKH He THnHHeH flJIH npoeKTOB PB. 06bIHHO COBOKyn-
hbih pa3Mep Bcex CKaunBaeMBix aaxe bo BpeMH nepBOHauajiBHO-
ro npHeoeAHHeHHH k KaKOMy-jinGo npoeKTy (JmHJiOB b pa3bi
MeHbme 3 toto 3HaueHHH, a ecjin oh nocBHiaeH KpHnTorpacjiHH
hjih MaTeMaTHKe, BOBce npaKrauecKH paBeH Hyjno.
Ha 3 aKjia#Ke «Work» yace OTodpaacaeTcn npoiiecc o6pa6oTKH
TeKymero 6jiOKa aaHHBix (noKa HyjieBoii — cocTOBHne «Down-
loading»), 3aTpaneHHoe Ha ero o6pa6oTKy BpeMH h TaK Ha3biBae-
mbih aea jiaiiH, to ecTb (J)HHajibHan a aTa, ao kotopoh HyacHO o6n-
3aTejibHO nocHHTaTb 3tot 6jiok h BepHyrb pe3yjibTaT, HHaue ero
ompaBHT Ha o6pa6oTKy KOMy-roi6yaB apyroMy.
K coxcajreHHK), Kaioix-jindo B03MoacHoereH BH3yajibHO oaeHHTB
npoijecc MOAejiHpOBaHHH (HanpHMep, cbohmh ma3aMH yBHaeTB co-
3aaBaeMyK) MoaeJib 6ejiKa) Rosetta@home b aaHHoe BpeMn He npeao-
CTaBjineT. Othochtch 3to He tojibko k naHHOMy npoeioy, ho h k
6ojibiiiHHCTBy flpyrHx, hmciolhhx BepCHH noa Linux. Cpean onpo6o-
BaHHBix mhok) BO INC -npoeKTOB rpac()HKy no a Linux Ha TeKymuH
MOMeHT noKa3biBaeT tojibko Einstein@home. OaHaKO b ckopom Bpe-
MeHH CHTyaHua HaBepHHKa h3mchhtch! nocjienHHa hoboctb Ha can-
Te Rosetta@home coodmaeT o HauaBineMcn TecTHpOBaHHH hoboh
BepCHH CKpHHceiiBepa (to ecTB BepCHH pacueTHoro MoayJin c nojiHO-
aeHHoii rpacjMuecKOH uacTBio, HaBepHoe, h noa Linux Toace). Ot
apyrax npoeKTOB Toxce jiothhho oxcnnaTb BBinycKa b ckopom 6yay-
uieM Linux-BepCHH c noaaepaacoH BH3yajiH3au;HH pacueTOB, Beau b
6ojibmHHCTBe cjiynaeB OHa HanucaHa noa OpenGL, kotopbih nop-
THpyeTcn Me^ay iuiaT(J)opMaMH aoBOJiBHO npocTO.
Ho HTO-TO MBI OTBJieKJIHCB. B03BpaiaaeMC5I K KJIHeHTy BOINC H
BHaHM, hto 3 aKauKa pacneTHBix Moayjien Rosetta yxe 3 aBepmnjiacB
h npoeKT Hauaji pacueTbi. Tenepb moxho CBepHyTB okho BOINC
Manager h 3aH3iTBC5i cbohmh aejiaMH. Rosetta, paBHO KaK h jho6oh
apyroft coBpeMeHHBiH npoeKT pacnpeaejieHHBix bbihhc jieHHH , apy-
thm 3anymeHHBiM na KOMnbiOTepe nporpaMMaM HHKoraa He noMe-
maeT. Hto6bi yaocTO Bep HTbcn , moxcho otkpbitb top h yBHacTB, hto
npoaecc rosetta_ 4 . 79 , xoth h 3 aHHMaeT 98 % CPU, npn 3tom HMe-
eT CaMBIH HH3KHH H3 B03M03CHBIX npHOpHTeTOB, a 3HaHHT, KaK
tojibko npoaeccop CTaHOBHTcn HyaceH jho6oh apyron nporpaMMe,
Rosetta Tyr ace b HyacHOM o6i>eMe ero ocBodo^caaeT.
Hto6bi BOcnojiB30BaTBCn ochobhbim npeHMymecTBOM BOINC —
aHHaMHuecKHM nepeKjnoneHHeM Me^ay npoeKTaMH, — Hy*no
Bii3ya^M3anMfl b Linux
BpeMeHHbie
Kco>KaaeHmo f Linux-BepcMM
MHornx pacMeTHbix MOflyaew oc-
HOBdHHblX Ha BOINC npoeKTOB
He npeAOCTaBaniOT noxa HMKa-
KOM B 03 M 0 JKH 0 CTM BM 3 yaabH 0
oueHMTb npouecc pacMeia
(noKpyTMTb MOflejib MoaeKyjibi,
y3HaTb norofly Ha BHpTyaabHOM
rno6yce 3eMan, no/no6oBaTb-
ca Ha ni/iKM rpac|)HKa c koc-
MimecKMM uiyMOM). B o6iueM
caywae Windows-Bepcua npo-
eKTa MMeeT KpacHByio BM3y-
aaM3auMto f a b Linux KHon-
Ka BOINC-MeHefl>Kepa «Show
graphics» OTKaiOMeHa. 3 to ot-
HeAOCTaTKH
HOCMTcn k LHC@home, Climate
Prediction m SETI@home m
CBB3dH0 He TOabKO M, H3Bep-
Hoe, name He CToabKO c no-
HHHCeHHblM BHHMdHHeM K
LinUX-BepCMBM CO CTOpOHbl
aBTOpOB, CKOabKO C COBCeM
HeflaBHMM nepexoflOM BOINC
CO CTapoil, HeTBepTOM, Ha HO-
Byio — naTyio Bepcmo naaT-
c|)opMbi. no coo 6 mieHMaM yqa-
CTHI4K0B, B MeTBepTOM BepCHH
BOINC rpac|)HKy noKa 3 bieaan
ropa3flo 6oabuie npoeKTOB,
a b naTOM Koe-rfle ee HeT Aa-
>Ke nofl Windows.
4/2005 LINUX CHIP
30
desktop I Ha c ji y >k 6 e h a y k m
npHCoeAHHHTbca eme xoth Gbi k OAHOMy npoeKTy, a jiynme k He-
ckojibkhm. He 3Haio, KOMy xax, ho, no-MoeMy, ynacTBOBaTt o a-
HOBpeMeHHO b HecKOJiBKHx npoeKTax ropa3#o HHTepecHee, neM b
K aKOM-TO oahom, TeM 6ojiee hto romero cjioxHoro b 3 tom kqt :
npou;ecc noAKjnoHeHHH y Bcex HAemriHeH onncaHHOMy Ha npn-
Mepe Rosetta@home.
| Climate Prediction |
| www.climateprediction.net |
npoeKT Climate Prediction, xax cjieAyeT H3 ero Ha3BaHHH, 3aHHMa-
eTcn Mo^ejinpoBaHHeM h npeACKa3aHHeM KJiHMaTa Ha 3eMjie. Yn-
pomeHHO MOvKHO cxa3aTB, hto pe3yjiBTaTOM padoTBi npoexra aoji-
xeH CTaTB «nporao3 noroABi» Ha 50 jieT Bnepea. Ero pyxoBOAHTejin
XOTHT OnpeAeJTHTb, HaCKOJIBKO TOHHbl Cy LLXeCTBy K) LLX M e MeTOflBI AOJI-
roBpeMeHHoro npe#CKa3aHHH noroABi h HacxojiBKO chjibho Ha hx
TOHHOCTB BJIH 5HOT nOrpemHOCTH B HCXOAHBIX AaHHBIX.
PaGoTaiontHH Ha roiaTcjDopMe BOINC BBiHHCJiHTejiBHBiH MOAyjiB
npoeicra 3aHHMaeTca MoaejinpOBaHHeM AOJirocpoHHbix H3MeHeHHH
KJiHMaTa 3eMjiH. Bee ynacTByioiAHe KOMnbiOTepbi nojiynaiOT He-
MHoro pa3HBie BxoAHbie aaHHbie, no3TOMy htot paGoTbi xaxAoro
H3 hhx 6yaeT yHHKajiBHBiM. PyKOBO^HTejiH npoeKTa BBiGepyr cpeAH
nojiyneHHBix pe3yjiBTaTOB HanGojiee tohho OTpaxaiomne nponexo-
AHBinee ao 2000 roAa h CAejiaiOT bbiboa o HanGojiee BeponTHBix H3-
MeHeHHHx, oxHAaioiAHx Hac b GyAymeM.
3 tot npoeKT HBjnieTCH, HecoMHeHHO, peKOpACMeHOM no ko-
jmnecTBy CKanHBaeMbix npn noAKjHoneHHH a&hhbix. Cpa3y no-
cjie npHeoeAHHeHHn BOINC-3aKJiaAKa «Transfers» npOHHc|iop-
Umaia
fl3MB OpeMM o Climate Prediction
«Mbl XOTMM MCCJieAOBaTb He-
6ojl bLUHe M3MeHeHMfl B o6wieM
MOfleAM, — TOBOpMT KOOpflM-
HaTop npoeKTa, aoktop fl3MB
CppeMM M3 0KCC|DOpACKOrO yHM-
BepCMTeTa. — EAMHCTBeHHbIM
cnoco6 CAenaTb 3 to — npoBec-
TM OMeHb MHOTO 3KCnepMMeH-
TOB, npOBepMTb Bee B03MO>K-
Hbie BapMaHTbi. To ecTb CAe-
jiaTb to, mto 3aHmio 6bi y cy-
nepKOMnbiOTepa HecKOJibKO
TbicBM JieT. Ho, peuian 3 to
K aK pacnpeAejieHHyio 3aAawy,
Mbi CMOKeM CAenaTb Bee ro-
pa3AO 6bicTpee».
MHpOBajia MeHH o tom, hto npoeKT climateprediction.net 3a-
xa3aji nojiyneHne (J)aHJioB oGiijhm oGbcmom ax b 44 MGaHT!
noaTOMy, ecjin BaM Tpac[)HK AOpor xax naMHTB, bo3moxho, cto-
ht ot ynacTHH b atom npoexre OTKa3aTbcn. CnpaBeAJiHBOCTH pa-
AH CTOHT CKa3aTB, HTO eAHHOXABI 3aKaHaHHBIH GjIOK AaHHBIX
« Climate Prediction» GyAeT CHHTaTBCH oneHb aojito — KaK mh-
HHMyM Mecnu;, H 3T0 Ha AOBOJIBHO GblCTpOM KOMnBIOTepe, npH-
neM padoTaiomeM b KpyrjiocyTOHHOM pexHMe. A npn pacneTe
nocjieAyiomHx Gjiokob CKannBaTB GojiBinyio nacTb yxe nojiy-
neHHBix AaHHbix noBTOpHO He Tpe6yeTcn.
CKpHHinOTBI npHBOAHTCH H3 WindOWS-BepCHH 3TOTO KJIHCHTa;
Linux-rpa(J)HKa, KOTAa OHa hohbhtch (no cjiyxaM, jxjvb HeKOTO-
pBix TnnoB pacneTHBix Gjiokob OHa yxe AOCTynHa), BpAA jih GyAeT
CHJIBHO OTJIHHaTBCH.
Einstein @ home
| http://einstein.phys.uwm.edu |
npoeKT Einstein@home 3aHHMaeTCn cocTaBjieHneM ajm Bcero He6a
araaca H3JiynaeMBix 3Be3AaMH-nyjiBcapaMH rp aB htah h o h h bi x no-
jieii. TaKOH aTjiac AOJixeH noMOHB b npOBepxe mnoTe3Bi 3HHiHTen-
Ha, npeACKa3BiBaioiAeH TeopeTnnecKyio bo3moxhoctb cymecTBO-
BaHHH rpaBHTailHOHHBIX BOJIH, B03HHKaiOIAHX npH CTOJIKHOBeHHHX
nepHBix amp h B3pBiBax 3Be3A. noKa HHKOMy H3 yneHBix odHapy-
XHTB 3TH BOJIHBI He yAaJIOCB.
flaHHBie ajth aHajiH3a GyAyr nocTynaTB H3 JIa3epHoii HHTep(jiepo-
MeTpHHecKoii rpaBHTaiiHOHHo-BOJiHOBOH oGcepBaTopHH (LIGO).
PaGonan nacTB 3aAeiiCTBOBaHHOH b npoexre oGcepBaTopHH LIGO
COCTOHT H3 RByX TOHHeHmHM 0Gpa30M yCTaHOBJieHHBIX 3epKaJI
h nyTemecTByioiAero MexAy hhmh jiyna Jia3epa. npn HajiHHHH
bojih b rpaBHTaitHOHHOM nojie nyTB Jia3epa HyTB-nyTB otkjiohh-
eTCH, HTO n03B0JIHeT yneHBIM 3aMenaTB H H3MepHTB 3TH bojihbi.
EojiBinee paccTOHHne MexAy 3epxajiaMH 03HanaeT GojiBinyio nyB-
CTBHTejiBHOCTB HHTepijiepoMeTpa, no3TOMy 3epKajia LIGO ycTa-
HOBjieHBi paccTOHHHH HeTBipex KHjiOMeTpOB Apyr ot Apyra. 3 to
no3BOjnieT (J)HKCHpOBaTB H3MeHeHHH nojioxeHHH jiyna Jia3epa
BnjIOTB AO OAHOH CTOMHJIJIHOHHOH AHaMeTpa aTOMa BOAOpOAa.
3tot npoeKT, KaK ynoMHHajiocB BBime, Ha ceroAHnmHHH mo-
MeHT HBjiHeTCH eAHHCTBeHHBiM, HMeiOHjHM nojiHou;eHHoe otoG-
User: Roman Mamei
Total Credit: 72.61
Host Credit: 0.00
Team: Russia
Percent Done: 73.4'
BHAHbl ABa H3 Tpex MapKepOB, CHMB0J1H3Hpyi01AHX [103HUMM 36HHT0B
Ana coduparoiAHX MH^opMaumo npudopoB
einstein
tiOsteintHop:
Search Information:
RA: 126.11
DEC: -1.76
CHIP LINUX 4/2005
pacnpeae/ieHHbie BbiHwc/ieHHn b Linux
31
panceHne BH 3 yajiH 3 aitHH pacneTOB xax no/t Windows, Tax h no/t
Linux. PyccKHH nepeBO/t onncaHnn Toro, hto 03Hauai0T pa 3 Jinn-
HBie sjieMeHTBi 3Toft BH3yajiH3au;HH, moxho HaiiTH no a/tpecy
http://distributed.ru/7einstein.starsphere.
Folding® home
| http://folding.stanford.edu |
Mo)kho ckojibko yro/tHO tobophtb o TexymeM rjiodajiBHOM nepe-
xo/te Ha BOINC, o/maKO cynjecTByiOT xax ynacTHHKH , Tax h pa 3 -
padOTUHKH PB, KOTOpBIM BOINC no pa 3 HBIM npHUHHaM jih6o He
HpaBHTCil, JIH 60 npOCTO He npHHOCHT, no HX MHeHHK), HHKaKOft
nojn>3Bi no cpaBHeHHio c «Tpa/tHu;HOHHOH» apxHTeKTypon npoex-
Ta. Ocodemro b tom cjiyuae, ecjin nocjie/tHnn y xe /taBHO 3 anynje-
Ha h ycneniHo (J)yHKu;HOHHpyeT.
Cpe^H Tarax npoeKTOB Handojiee npHMeuaTejiBHBiM nBjineTcn
Folding@home. Ero pa3padoTUHKH cpa3y xe nocjie nonBjieHnn
BOINC 3anBHjiH, hto HHKaKHx npenMymecTB ot nepexo/ja Ha 3Ty
njiaT(})opMy ohh He bh#ht, a Koma yBH/mT — npOCTO C03/ta,ztyT ro -
nojiHHTejiBHyio BOINC-Bepcmo CBoero KjineHTa, ocTaBHB Ha-
paBHe c Heft h nepBOHanajiBHyio. KcTaTH, Ha ^aHHBift momcht
BOINC-B epCHH KjiHeHTa 3Toro npoeKTa Bce-TaKH ynce cymecTBy-
eT h npoxoAHT 6eTa-TecTHpoBaHne.
He jib Folding@home — nojiyuemie 6ojiee tohhoto npe/tCTaBjie-
hhh o 6ojie3Hnx, BBi3BiBaeMBix aecj/eKTHBiMH 6ejiKaMH. H3yuaiOTcn
6ejiKH, HMeiontHe OTHonieHne k 6ojie3HH AjiBu;reftMepa, IlapKHH-
coHa, a nadeTy Tnna II, xopoBteMy demeHCTBy h paccenHHOMy
CKjiep03y. IIoHnB, noueMy B03HHKai0T Aec£>eKTBi b dejixax oahoto
TH na, yneHBie CMoryT bbihchhtb, kbkhm odpa30M 3 to nponcxoAHT
h c ApyrHMH dejixaMH. Bee ncejiaionme HMeiOT CBodoAHBift AOCTyn
k pe3yjiBTaTaM. Ha caftTe BBiKJiaABiBaiOTCH Bee nydjiHKaitHH, pojin-
kh CMO/tejiHpOBaHHBix npou;eccoB H T. n.
KjineHT coctoht H3 a B yx nacTeft — odojiouKH h pacueTHoro
nApa. HeKOTOptie H3 pacueTHBix nAep onTHMH3HpOBaHBi noA pac-
nmpeHHBie HadopBi HHCTpyKu;Hft — SSE h 3DNow! jindo SSE2.
Ho pyKOBOAHTejiH npoeKTa Ha 3 tom ocTaHaBjiHBaTBcn He codn-
paiOTcn. Hccjie/tyeTcn bo3mo:»choctb co3AaHHn Bepcnn KjineHTa,
Hcnojn>3yiomeft AJin pacueTOB rpacjmuecKHft npoiteccop BHAeo-
njiaTBi, h Aance pa3padaTBiBaeTcn Bepcnn, 3a/teftcTByK)ntan cne-
LlHajiBHyio njiaTy-ycKOpHTejib PCI.
Ha caftTe http://folding.stanford.edu non Linux npe/piaraeTcn
TOJIBKO KOHCOJIBHan, de3 BCHKOft rpa(J)HKH, BepCHH KJIHeHTa. O/tHa-
ko /pm Folding@home cyinecTByeT hcckojibko oueHB KpacnBBix
CTOpOHHHx nporpaMM ajih BH3yajiH3an;HH pacueTOB (padoTaioiimx b
tom uncjie h non Linux), HanpHMep fpd (http://home.comcast.net/
~wxdude2/rph/fah.html) .
flpyrne npoeKTbi
K concajieHHK), b paMKax ctbtbh HeB03M0>KH0 onncaTB h hojiobhhbi
Bcex padoTaioninx Ha BOINC npoeKTOB, He roBOpn yx:e o ropa3AO
donee MHorouHCJieHHBix, HMeiontHx «Tpaa HunoHHyK)» apxHTeKTypy.
Ecjih TeMa pacnpe/tejieHHBix BBiuHCJieHHft Bac 3aHHTepecoBajia,
ho onncaHHoro 3/tecB noKa3ajiocB He/tocTaTOHHO, coBeTyio noce-
thtb o<J)Hu;HajiBHBift caftT BOINC (http://boinc.berkeley.edu), Ha
kotopom nepeuncjieHBi Bee npoeKTBi, HcnojiB3yiOLUHe b padoTe 3Ty
njiaT(J)opMy. HanpHMep, ctoht 3aftTH Ha caftT http://distributed.ru,
me moxcho HaftTH pyccK0H3BiuHBie onncaHun Handojiee nonyjinp-
HBIX npoeKTOB, HOBOCTH O HHX H AOBOJIBHO aKTHBHBlft <|)OpyM; H,
KOHeuHo xce, MOHCTpyo3HBift pecypc http://distributedcomputing.
info, me ecTB KpaTKHe onncaHnn, HaBepHoe, Bcex npoeKTOB —
(J)yHKH,HOHHpyK)ntHx ceftuac, Koma-Jindo cymecTBOBaBinHx, a TaK-
nce erne tojibko miaHHpyeMBix k 3anycKy.
B odnteM, npHCoe/unraftTecB! |
CyiMHOCTb Rosetta
0 pacneTHOM nape
HApo Rosetta — 3to c()M3MHec-
Kan MOflenb MaKpoMoneKynnp-
HblX B3aHM0fleMCTBMM M 3/1 TO-
PMTMOB nOMCKa CTpyKTypbl c
HaMMeHbLueM 3HeprneM p,na 3a-
AaHHOM aMMHOKMCJlOTHOM nO-
cneflOBaTenbHOCTM (npw npefl-
CKa 3aHMM CTpyKTypbl 6e;iKa),
KOMnneKca «6enoK-6enoK»
(npw pacMeTe CTbiKOBKM 6 en-
kob), a T3K>Ke noMCKa aMMHo-
KMCJ10TH0M nOCneflOBaTenbHOC-
tm c HaMMeHbuieM 3HepmeM j\nn
3aflaHH0M 6enK0B0M CTpyKTypbl
min KOMnneKca «6enoK-6enoK»
(npu AM3aMHe 6e/iK0B).
4/2005 LINUX CHIP
32
desktop
m y ji b t m m e a h a
K)p mm MepKy/iOB
KocMeTo^omn
h noKa3 moa
ripMflTHO M nO/ie3HO MflTM B HOry C TeXHMHeCKMM npOrpeCCOM, MMeTb XOTfl
6bi 6emoe npeflcraB/ieHMe o tom, hto TBopmca b MMpe xan-TeKa. CeroflHfl
MHorne y>Ke pa6oTaiOT b HHTepHeie, ncno/ib3yji ADSL-noAK/iiOHeHMe,
a orpoMHoe KO/iMHecTBO ceMen coxpaHfuoT Ha naMJiTb Top>KecTBeHHbie
co6bumi c noMOiAbio pnc|DpoBoro c|)OToannapaTa.
D,eHHOCTb u;H(j}poBoro (})OToannapaTa pe3KO B03pacTaeT, ecjiH
yMeTL rpaMOTHO pacnopiDKaTBcn nojiyueHHBiMH chumkamh. Kaicne
OCHOBHLie Hy^BI y npOCTBIX 4>OTOJIK)6HTeJieH?
IlepBBiM 3TanoM Bcer^a HBjineTCii co6cTBeHHO npoijecc cueM-
kh. Ycjiobhh He Bcer^a Moryr 6bitb noAxoAamHMH , a a h He Bee
mbi (j30Torpa(J)Bi ot 6ora.
IlojiyHeHHBie (JiOTorpacjiHH acejiaTejiBHO coxpaHBTb Ha komhbio-
Tepe, hto6bi baobojib HajuoGoBaTBcn nojiyueHHBiM MaTepnajiOM.
Ho He Bcer^a chhmkh paAyiOT rjia3, noaTOMy oneHB nacTO npnxo-
Ahtch npH6eraTB k HHCTpyMeHTaM, yjiyuinaiomHM hx KanecTBO. no
Mepe HaKonjieHHH H3o6paaceHHft Ha acecTKOM AHCKe Bee 6ojiBine
B03HHKaeT Heo6xOAHMOCTB TpaMOTHOH HX COpTHpOBKH C HeJTBK)
AajiBHeftinero 6BiCTporo noncKa jho6hmbix kaapob.
KpacHBBiMH (J)OTorpa4)HHMH Bcer^a xoueTcn noAejiHTBcn c
Apy3BHMH, a caMBie npeicpacHBie 3K3eMmi5ipBi Tax h npocHTcn
HanoKa3 BceMy CBeTy.
Mbi c BaMH padoTaeM b Linux — CHCTeMe, H3Hauajn>HO npeA-
Ha3HaueHHOH COBCeM Rim ApyrHX, He CBH3aHHBIX C AH(|)pOBBIM
<J>oto, Hyaca. Ho npejiecTB OTKpBiToro nporpaMMHoro odecneue-
HHH 3aKJHOHaeTCH B TOM, HTO pa3pa60TUHKaM HHTepeCHO nHCaTB
HaH6ojiee BOCTpe6oBaHHBie nojn>30BaTeji5iMH nporpaMMBi. Cbhto
M ecTO nycTO He 6BiBaeT, no3TOMy Bee 3anpocBi oGjiaAaTejni u;h(J)-
POboto (jDOToannapaTa peajiH30BaHBi h b otkpbitoh OC.
llepBafl CTbIKOBKa
RjX po Linux HMeeT ApaftBepBi npaKrauecKH ko BceM ycTpoftcTBaM
c USB-HHTep(j3eHCOM. noAAepacHBaeTcn CTaH^apT USB 2.0. npn
noACoeAHHeHHH 4>OToannapaTa k nK c noMomBio niHypa c pa3B-
eMOM mini-USB KaMepa aBTOMarauecKH MOHTHpyeTcn b onpe-
AejieHHBiii KaTajior — CBoft rjiz KaacAoro AHCTpnGyTHBa. nocjie
3 toto 4>OTorpa(J)HH moxho nepenucaTB c noMomBio jho6oto
(J mftjioBoro MeHe^epa. HcKjnoneHHe cocTaBjinioT moacjih (Jmp-
mbi Canon, fljin padoTBi c KaMepaMH b Windows TpedyeTcn ycTa-
HOBKa cnepHajiBHoro nporpaMMHoro oGecneueHHH. Ha ahckax,
nocTaBjweMBix BMecTe c npOAyKijHeft Canon, nporpaMMHoro
oGecneneHHii Rim Linux HeT. OAHaico Bee npoGneMBi pernaeT npH-
odpeTeHHe He^opororo KapT-pH^epa, KOTOpBift onpeAejineTcn b
L inux Kax USB-ycTpoftcTBO h aBTOMamnecKH MOHTHpyeTcn.
B p030BblX OH Kax
B nonyjiHpHBix AHCTpHGyraBax Linux moxho Haftra HeMajio npo-
rpaMM rjw npocMOTpa H3o6paaceHHft, HanpHMep Kuickshow H3
KDE hjih gThumb H3 GNOME. MHorae H3 hhx hmciot b CBoeM
cocTaBe cpe^CTBa Rim KaTajiorH3au;HH H3o6paaceHHft Ha acecTKOM
AHCKe. nporpaMMBi Moryr co3AaBaTB cboh 6a3Bi AaHHBix, KOTopBie
pacnrapniOT bobmoxhocth HaBHraijHH no 6a3e H3o6paxeHHH h
AOGaBJIHIOT HeKOTOpBie CepBHCHBie (JiyHKHHH. O^HaKO nOA 06 HBIH
noAxoA k npodjieMe HMeeT OTpHijaTejiBHBie ctopohbi. Abtopbi
KaacAoft nporpaMMBi no-CBoeMy bhaht nyra, ynponjaiomne HaM
3CH3HB, h, co3^aB 6a3y b oahoh nporpaMMe, bbi He CMoaceTe pa6o-
TaTB c Heii b flpyroft. CTaHAapTH3apH5i — Majio3HaxoMoe cjiobo
ajih aBTopoB 6a3 naHHbix. EaHHCTBeHHBiM «cTanaapTOM» ocTaeTcn
rpaMoraoe xpaHeHne (JiaftjiOB Ha xecTKOM ah cxe. Ecjih He jieHHTB-
cn h BnncBiBaTB b Ha3BaHHH nanox, HanpHMep, aatbi cbcmok h Te-
CHIP LINUX 4/2005
UMtppoBan (fjororpatpHfi
33
mbi TexynjHx KOJiJieKUHH, to b ^ajibHennieM HaiiTH HyxHbie (Jioto-
rpa(J)HH 6y^eT He Tax yac h cjioxho.
L( M C(3 pO B 0 M MeMKan
npaxrauecxH hh ozma yTHjiHTa ajih npocMOTpa He HMeeT aaxe 6a30-
BLIX HHCTpyMeHTOB peflaXTHpOBaHHH H306pa>KeHHH. EaHHCTBeHHaa
«ra5mejiKa», b xotopoh mo>kho bbihojihhtb npocTenniHe MaHHnyjra-
u;hh, yjryHLLiafomHe xauecTBO H3o6pa>KeHHH, — 3 to gThumb. Hhct-
pyMeHT «Enchance» nbiTaeTCH aBTOMamuecxH noaoOpaTb onTHMajib-
Hbie napaMeTpbi HpxocTH/xoHTpacTHocTH h HBeTOBoro 6ajiaHca.
C noMOLiibio ocTajibHbix (JjyHKHHH Bbi MOxeTe nonpo6oBaTb BpyuHyio
noHrpaTb c HHCTpyMeHTapneM, Hcnojib3yeMbiM Ha HanajibHOM 3Tane
o6pa60TKH HH(J)pOBbIX H3o6paxeHHH.
IIlHpOKHH npOCTOp OTKpbIBaeTCH JJJIR TBOpHeCXOH MbICJIH, eCJIH 06-
paTHTbca k rpa(J)HHecKOMy peaaxTOpy GIMP. Kax hh Kpym, a unix way
TexHimecKMe fleia/in
MerariMKceuM vs tpoTofiyMara
npw nenaTM 6yMa>KHbix c|)oto- pacweTbi (He MeHee 120 fimk-
rpacj >mm ncno/ib3yeTCfl pa3pe- cenew Ha 1 cm) noKa3biBaiOT
uieHMe 300 dpi. Hec;io>KHbie c^eflyiomyio KapTMHy:
KoAMHecTBO MeranHKce/ieii MaKCMMaAbHbiM pa3Mep cJdoto-
c|30ToannapaTa
rpac|)MM 6e3 noTepii xanecTBa,
noAynaeMbm npM nenaTM, cm
2
10x15
3
13x18
4
13x18 c He6o/ibWMM 3anacoM
5
15x20
7
OopMaT A4
9
OopMaT A4 c He6ojibLUMM 3anacoM
Kan bmamto, pemiaMHbie 3a-
HBJieHMH 0 TOM, MTO, HanpM-
Mep, 7 -MerannKce^bHbiMM
KaMepaMH mo>kho Ae/iaTb
chmmkm pa 3 Mepa A3, — He
6ojiee MeM nycTOM 3Byx. Kpo-
Me Toro, He ctomt 3a6biBaTb,
mo HauiM c|)OToannapaTbi
(99% — «MblJlbHML4bl»,
1% — «3epKa/iKM») AeiiaiOT
CHMMKM C KaMeCTBOM HM>Ke
AonycTMMoro npeAejia.
gThumb: npnxo-
pawMBaeMCfl
OAHMM LUeilHKOM
MblLUM
h b aaHHOM Bonpoce aaeT o ce6e 3HaTb: jiyame Hcnojib30BaTb Hecxojib-
ko cneHHajTH3HpoBaHHbix nporpaMM, hqm oa,Hy yHHBepcajibHyio.
GIMP — eAHHCTBeHHbra cepbe3HbiH nporpaMMHbra npo^yxT
AJIH MaHHnyjlimHH C H306pa3CeHHHMH B Linux, O^HaXO B 3TOM
HeT HHuero CTpaniHoro. GIMP — moh^hbih h b to xe BpeMH ro-
BOJIbHO npOCTOH B OCBOeHHH HHCTpyMeHT. C flpyTOH CTOpOHbl,
CTOHT OTMeTHTb, HTO OTCyTCTBHe B GIMP HeKOTOpbIX HHCTpy-
MeHTOB «£JIH uaHHHKOB» 3aCTaBJIHeT BbinOJIHHTb HeKOTOpbie npo-
CTenniHe onepau;HH uepe3 nocjie£OBaTejibHOCTb Apyrnx (JiyHx-
h;hh. HanpHMep, ecjin b ACDSee h Photoshop KpacHbie 3pauxn
rjia3 yOnpaiOTcn npaxTHuecxH o^hhm mejmxoM mbihih, to b
GIMP Heo6xo£HMO BpyuHyio BbmejmTb o6jiacTb 3pauxa h bbi-
KJHOHaTb KpaCHblH PBeTOBOH KaHaJI B 3TOH o6jiacTH.
Ho He 6y^eM tobophtb o rpycTHOM, jiyume cpa3y nepeH^eM k
pa6oTe c HaniHMH 4)OTorpa4)HHMH. npH nepBOM B3rjiime Ha (J)o-
to cpa3y 6pocaiOTCH b rjia3a 3epHHCTOCTb h HapymeHHe pBeTOBo-
ro 6ajiaHca, ecjin npn cueMxe Hcnojib30Bajicn napaMeTp ISO 400
H BbIHie. /I,JIH yCTpaHeHHH HiyMOB H 3epHHCTOCTH HCnOJIb3yeTCH
cnepHajibHbiH (jmjibTp «rayccoBO pa3MbiBaHHe», xotopbih bbi3bi-
BaeTCH H3 MeHK) «<I>HJIbTpbI» H nO^MeHK) «Pa3MbIBaHHe». npH
3 tom HeMHoro noHHxaeTcn o6ma n ueTxocTb H3o6paaceHHH, ho
3anac b 3toh oOjiacTH rjiz neuaTH 10x15 cm y coBpeMeHHbix cjx)-
ToannapaTOB npocTO orpOMeH. Bbi Taxace MOxeTe CHauajia Bbme-
jihtb uacTb H3o6paxeHHH c noMombio rpynnbi HHCTpyMeHTOB
BbiAejieHHH (npOH3BOJibHoe, CBH3aHHbix oOjiacTen h no ]3BeTy) h
jihhib 3aTeM noHH3HTb ypOBeHb rnyMa. npH TaKOM noAxo^e mox-
ho «pa3rjia#HTb» Koxy Ha nopTpeTe, coxpaHHB npH 3 tom Maxcn-
MajibHyio ueTKOCTb H3o6paxeHHH Ha yuacTxax bojioc h orqikjim.
HacTHHHoe HapymeHHe HBeTOBoro OajiaHca HcnpaBjineTCH cno-
MOHJBK) (J)yHKU;HH «LjBeTOBOH 6aJiaHC», BbI3bIBaeMOH H3 MeHK) «Hh-
CTpyMeHTbi» h noAMeHK) «HHCTpyMeHTbi u;BeTa». OOpaTHTe BHHMa-
HHe, hto c noMombio GIMP bbi MOxceTe MenaTb HBeTOByio raMMy
pa3aejTbHO b Tpex anana30Hax hpkocth — Tenax, nojiyroHax h 6jih-
xax. OueHb uacTO npn cueMKax Ha yjiHu;e b cojiHeuHbiH jiQHh He6o
nojiyuaeTcn He rojiyObiM, a OejibiM H3-3a HeTOUHOH nepeaaHH npKO-
CTH Ha npeaeJTbHblX 3HaueHH5IX. C nOMOmbK) TOHHOH KOppeKUHH
HBeTa bbi MO>KeTe aoOaBHTb rojiyOoH oireHOK TOMy HHTepBajiy npKO-
cth, b kotopom OKa3ajiocb He6o. Ton ho Tax xce moxcho aejiaTb Bony
4/2005 LINUX CHIP
34
desktop
m y ji b t m m e a h a
CHHen b rpH3Hbix BoaoeMax, y6HpaTB KpacHOTy Ha Jinijax co chhm-
kob, caejiaHHbix aemeBbiMH annapaTaMH Canon co Bcnbinixon.
Ecjih Bam chhmok nojiymuiCH 3acBeneHHbiM, b HexoTOpbix Mec-
Tax HpKOCTb Taxan, hto Bee cjiHBaeTcn b can h bin GejmiH cJioh, to 3to
yxe HHneM He ncnpaBHTb. CjinmKOM TeMHbie chhmkh, HanpOTHB,
noaaaiOTcn HcnpaBjieHHio. fljrn xoppexTHpOBxn hpxocth chhmkob
BOC nOJIb3yHTeCb MOHJHblM HHCTpyMeHTOM «ypOBHH» («HHCTpy-
MeHTbi -» MHCTpyMeHTbi u;BeTa»), c noMombio KOTOporo bh CMonce-
Te He TOJibKO ycTaHOBHTb Hy>KHbie napaMeTpbi hpxocth ana chhm-
Ka, HO H OKOHHaTeJIbHO BbinpaBHTb UBeTOBOH 6aJiaHC.
06paTHTe BHHMaHHe Ha TpH nHneTKH, pacnojiojxeHHbie cnpa-
Ba ot KHonKH «Abto». Bbi6op nepHOH h 6ejiOH Tonex no3BOjmeT
CKOppeKTHpOBaTb H3o6pa3ceHHe Tax, hto6bi paBHOMepHO 3aaen-
CTBOBaTb Ha CHHMxe Becb anana30H npxocTH. Bbi6op cepon toh-
xh no3BOjmeT paBHOMepHO nocTpOHTb bcio uaeTOByio raMMy 6e3
nepexocoB b CTOpOHy toto hjih hhoto xaHajia. Ecjih Bac He ycT-
paHBaeT pa6oTa aBTOMaTHXH, ao6po noxajiOBaTb b pynHyio
npaBxy rpacjiHxoB. Bbi MOxeTe njiaBHO peryjiHpOBaTb noporoBbie
3HaneHHn xaHajiOB h oGiaeii hpxocth c noMombio nepHbix h 6e-
jibix TpeyrojibHHxoB, a Taxnce xoppexTHpoBaTb raMMy c noMO-
mbK) ceporo noji3yHxa.
Ha jxeHCXHx nopTpeTax oneHb xpacHBO cmotphtch 3(jxi)exT
MHTXOTO CBeTa, XOTOpblH MOJKHO C03aaBaTb C nOMOiabK) OaHO-
HMeHHoro (J)HjibTpa, Bbi3biBaeMoro H3 noaMeHio «HMHTau;HH».
B peaJIbHOH HCH3HH nOao6HbIH 3(J)(J)eXT MOvKHO nOJiyHHTb, eCJIH
nepea BcnbimxoH nocTaBHTb jihctox rjimmeBoro xapTOHa, xoto-
pbiH OTpa3HT CBeT Ha noTOJiox. B pe3yjibTaTe Moaejib He 6yaeT 3a-
CBeneHa npHMbiM hpxhm cbctom, a nonaaeT noa TaHHCTBeHHyio
BjiacTb paccenHHoro OTpajxeHHH. npH 3 tom Hcne3Hyr pe3xne Te-
hh, 3panxn rjia3 HHxoraa He nojiynaTcn xpacHbiMH, xomho 3 hu;hh
npHo6peTeT o6beM h HexHH rnapM.
H, HaxoHeu;, oxoHnaTejibHbie mTpHxn HaHOCHTCH Ha chhmox c
nOMOiabK) HHCTpyMeHTa «TOH-HaCbIiaeHHOCTb» («HHCTpyMeHTbI ->
JIio6onbiTHbie cjiaKTbi
Maipnua
M3BecTHO, mo crpoeHMe rna-
3a MeaoBeKa MMeeT oflHy oco-
6eHH0CTb — Mbl BMflMM MeT-
Koe M3o6pa>KeHMe no ueHTpy,
ho Aawe He6onbuioe otkjio-
HeHwe B3rjiflfla pe3KO yxyfl-
uiaeT BocnpMHTMe ivmpa Ha-
b rojiOBe
men cemaTKOM. YqeHbie
noflCMMTann cpeflHee
«pa3peuieHHe» cemaTKM
raasa. SpeHMe 3Aopoeoro
MenoBena b cpeflHeM skbm-
BaneHTHO 4-MeranMKcenbHOM
KaMepe.
MHCTpyMeHTbi u;BeTa»). Hrpan HacbiiaeHHOCTbio OTaejibHbix u;Be-
tob, moxho noanepxHBaTb xoHxpeTHbie aeTajiH. HanpHMep,
yMeHbmeHHe HacbimemiocTH xejiToro h 3ejieHoro iibctob aejiaeT
xpOHy aepeBbeB nojiHOCTbio oSeciiBeneHHOH. B pe3yjibraTe mojkho
nojiynHTb aBeTHOH nopTpeT Ha nepHO-6ejiOM cjxnie.
noMHMO o6mnx yjiynmeHHH xanecTBa chhmxob bbi MOxeTe
noanepxHyrb OTaejibHbie aeTajin. Beab GIMP — 3 to He npocTO Me-
Hea^cep H3o6pa:»ceHHH, a nojiHoaeHHbiH rpa(J)HHecxHH peaaxTOp.
Bbi MOJxeTe, HanpHMep, HaHOCHTb npOH3BOJibHbiH Maxmcx Ha
xeHCXHe nopTpeTbi. GIMP noaaepJKHBaeT cjioh. Co3aaHTe hobbih
cjioh. HaHecHTe Ha iaexn pyMHHa, Boxpyr ma3 TeHH. 3 to aeJiaeTcn
c noMombio o6bmHoro xapanaama. Tenepb cjmjibTpOM «rayccoBO
pa3MbiBaHHe» oneHb chjibho pa3Maaa>Te cjioh. Bmccto pe3xnx xa-
paHaaniHbix mTpnxoB aojHKHbi nojryHHTbca HBeTHbie naraa. Hrpan
c npo3panHOCTbio cjion, ao6eiiTecb HyxHoro 3(jxi)exTa. BaxHO,
hto 6 bi xocMeTHxa He 6buia cjihihxom npxon, ho 6buia 3aMeTHa.
Bpobh h pecHHijbi pHcyiOTcn nepHbiM xapaHaamoM, tohxhmh jih-
HHHMH H pa3Ma3BIBaiOTCH He OHeHb CHJIBHO. HeMHOTO CJIOJKHee
HaHecTH noMaay Ha ry6bi. JXjw 3 toto iibcthbim xapaHaamoM o6Be-
aHTe xoHTyp ry6, HeMHoro pa3MaxcbTe pe3yjibTaT, ao6aBbTe npo-
3panHOCTb no Bxycy. nocjie 3 toto BbiaejiHTe xoHTyp ry6 h BHyrpH
BbiaejieHHH yBejiHHbTe u;BeTOByio HacbiiaeHHOCTb. Moxcho Taxace
H3MeHHTb toh. flaxe HeB3paHHan aeBymxa CTaHOBHTCH nncaHOH
xpacaBHiien, ecjin Haa Hen nopa6oTaTb b GIMP.
| Be6-flet|)M/ie |
PaHO hjih no3aHO B03HHxaeT xejiaHHe noxa3aTb (jiOTorpac^HH apy-
3 bhm, a Taioxe BbicTaBHTb HexoTopbie cboh pa6oTbi Ha Bceo6mee
o6o3peHHe. CaMbiH npocToii cnoco6 noaejiHTbcn 4)OTorpa(i)HeH c
apyroM — 3 to nocjiaTb ee no 3JiexTpOHHOH nome.
Ho ecjin Tpe6yeTCH noxa3aTb chhmxh BceMy MHpy, a hx xojume-
ctbo HenpiuiHHHO Bejmxo, to 3jiexTp0HHaH nepenncxa oxa3biBaeT-
ch 6eccHjibHa noa HanopoM Bamnx Tpe6oBaHHH.
Eojiee 3(fxf)exTHBHbiM cnoco6oM o6MeHa (J)OTorpa4 >HHMH hbjih-
eTCH co3aaHHe rajiepen b MHTepHeTe. OaHaxo Ha 3 tom TepHHCTOM
nyra noaxHaaeT HeMajio npo6jieM. nepea BaMH BCTaeT Bbi6op: jih-
6o pa3MemaTb cboh (jioTorpa^HH, Hcnojib3yH cneaHajibHbie ceTe-
CHIP LINUX 4/2005
UMtppoBafi t(]OTorpat()MH
35
BLie cepBHCBi, jih6o co3AaBaTB rajiepen caMOCTOirrejiBHO. Caifra,
npe^jiaraiomHe ycjiyrH no pa3MemeHHio rajiepen, HaxjiaABmaiOT
6ojiBinne orparameraHi. Bo-nepBBix, MaxcHMajiBHBin pa3Mep
4>anjia c H3o6paaceHHeM He MO^ceT npeBBimaTB (JraxcnpOBaHHoro
3HaneHHH, KOTOpoe CTaBHT b TynnK a axe iuioabi Tpy^a CTapBix
2-MerannKcejiBHBix xaMep. npnHyAHTejiBHoe cacarae (J>anjiOB
Taioxe He AaeT jxejiaeMoro pe3yjiBTaTa, Tax xax pe3xo CHHxaeTCH
xanecTBO H3o6paxeHHH. Bo-btopbix, Ha MHornx cahTax ycTaHaB-
jiHBaeTcn orpaHHneHHe Ha pa3Mep H3o6paxceHHH b nuxcejinx, hto
CT aBHT KpecT Ha o6MeHe xauecTBeHHBiMH <J)OTorpa4)HHMH. Or-
pOMHoe KOJinnecTBO pexjiaMBi Ha noAo6HBix caftTax hoaoGho no-
poxoBOMy 3apAAy cacnraeT Tpacjrax, 3a xoTOpBift bbi njiaTHTe cboh
K pOBHBie AeHBTH. A KapTHHKH BQRb He OTXJHOUHTB (3TO BeAB Ca-
MBIH ACHCTBeHHBIH Cn 0 C 06 CHHXCeHHH Tpa(})HKa) — BOT B UeM H
K)Mop, h Tpare^HH CHTyaijHH!
C Apyroft ctopohbi, mhothm n o jib30b aTe JIHM h He HyacHO 6ojib-
mero. He TpeGyioman oco6bix ycHjiHH bo3moxhoctb co3AaHHH ra-
jiepen H3 He6ojiBHiHx (J>OTorpa(J)HH ycTpaHBaeT mhothx. TeM Gojiee
Be6-cepBHCBi no3BOJHHOT BaM co3AaBaTB He6ojiBHrae onncaHHH k
cbohm (j30Torpa(j}HHM, a Apyrne nojiB30BaTejiH cepBHca Moryr oc-
TaBJIHTB CBOH KOMMeHTapHH HanpOTHB BaiHHX (J)OTO. npHMepBI
nonyjiHpHBix cepBHCOB: galleryaquareal.ru, www.photosight.ru,
foto.mail.ru h Apyrne.
Ho HaM, nojiB30BaTejiHM Linux, He npHBBixaTB pemaTB BonpocBi
CaMOCTOHTeJIBHO H AOCTHTaTB u;ejieH CBOHM Tpy^OM. O^Ha H3 HaH-
6ojiee npocTBix nporpaMM ajih co3AaHHH rajiepeii — 3 to gThumb.
BBi^ejiHTe 4)OTorpa(jDHH, H3 kotopbix xomre co3AaTB rajiepeio, a 3a-
TeM B MeHK) «HHCTpyMeHTBI» BBi6epHTe nyHKT «Co3^aTB HHTepHeT-
ajiB6oM». Bbi MOJxeTe npOH3BOJiBHO copTHpOBaTB H3o6pa3ceHHH,
MeHHTB CTHjieBoe 0 (jD 0 pMjieHHe GyAymero ajmGoMa. Kor^a ajn>6oM
GyaeT co3AaH, ero Hyxno pa3MecTHTB b Cera.
fljni pa3MemeHHH coGcTBeHHBix rajiepeii (h jiioGoh Apyroii hh-
(J)opMau;HH) b Cera HyxceH xocthht. KoMnaHHH, npe^ocTaBjiino-
mne 6ecnjiaraBiH xocthht, HaxjiaABmaiOT orpaHHuerani Ha Max-
CHMajiBHBiit obteM cbaiuia h oGiijhh o6i>eM GyAymero ajmGoMa.
CnncxH HanGojiee nonyjmpHBix xoMnaHHH b otoh objiacTH mojk-
ho Hanra no aApecy internethosting.ru.
Ho ecjiH bbi coGnpaeTecB noAejiHTBCH c mhpom oueHB Gojib-
hioh xojuiexiiHeii xauecTBeHHBix (J)OTorpa(J)HH, to b otom cjiyuae
He H36exaTB cjmHaHCOBBix 3aTpaT. HcnojiB30BaHne njiaraoro xo-
craHra hoaoGho TaGjieTxe acnHpHHa CHHMaeT BeuHyio rojiOBHyio
6ojib, Mynaiomyio Bac H3-3a HeoGxoAHMOcra nocTOHHHO hath Ha
xoMnpOMHCC. He ctoht nyraTBcn cnoBa «njiaraBiH» nocjie boc-
noMHHaHHH o xaxoM-HH6yAB 6aHHepe, r^e 3HauHTCH u;H(J)pa no-
pHAxa $100 b Mecnp.
floBOJiBHO OojiBHioe xojiHuecTBO npoBaiiAcpoB Gecrniarao
npe^ocTaBjiiieT coGcTBeHHBie cepBepBi Arm xocraHra xjineHTOB.
Ha 3to ctoht oOparaTB BHHMaHHe b nepByio ouepe^B. Ecjih Ta-
xon ycjiyrn y Bamero npOBahAepa HeT, HaGepnre b noHCxoBoii
CTpoxe Google 3anpoc «njiaraBiH xocthh r» h yOeAHTecB b tom,
hto 3a $2-3 b Mecmi; mojkho nojiyuHTB npaxrauecxn He orpaHH-
neHHyio no o6r>eMy rajiepeio b HHTepHeTe.
flocTyn x pecypcaM xocraHra ocymecTBjiHeTCH no npOTOxony
FTP. HaGepHTe b Krusader (hjih Apyroh HMeiomeiiCH y Bac npo-
rpaMMe) aApec Bamero xocraHra h, cjiobho y ce6n Ha noxajiBHOM
AHexe, xjiaBnmeH «F5» BBirpy3HTe Bamy rajiepeio b HHTepHeT.
Mnp u;H(i)pOBoro (J>oto pa3HOo6pa3eH h xpaime HHTepeceH.
npoiiecc cr>eMXH Ha AHcjDpoByio xaMepy, o6pa6oTxa chhmxob Ha
xoMHBiOTepe , ny6jiHxau;H5i b Cera — Bee sto CTaHOBHTcn AOCTyn-
hbim mnpoxoMy xpyry nojiB30BaTejieii. MnpOBoe cooGmecTBO
pa3pa6omHxoB OTxpBiToro nporpaMMHoro oGecneneHHii, x cuac-
tbk), He ynycxaeT H3 BHAa 3tot $axT, npeAOCTaBjHm HaM c BaMH
yAo6HBiii Ha6op HHCTpyMeHTOB b paMxax nonyjnipHOH onepaijH-
ohhoh CHCTeMBi Finux. |
A/ibTepHaTMBa
CnacaTeubHbM Kpyr
A KaK >Ke 6biTb nofl-
K/iiOHatomuMCn k MmepHeTy c
noMOiAbto dialup-MOAeMOB?
Ecjih Bbi mtm 3 a paMKM nepe-
AaMM HHcJ)opMaqnn qepe3 Mh-
TepHeT, TO MOJKHO HaMTM M
Apyrne cnoco6bi o6MeHa (jpo-
Torpac|)MjiMH. Co3AaMTe rajie-
peio b gThumb pa3MepoM b
H ecKOJibKO rnra6aMT, 3ann-
111 me ee Ha DVD c noMombio
k3b h nouuiMTe no nome 6aH-
Aepojibio. M 3 to 6yAeT HaMHo-
ro 6bicipee m AeweBjie, qeM
3arpy>naTb c|)OTorpac|}HM f mc-
nojib3yn KaHaji 56 k 6 mt/c.
4/2005 LINUX CHIP
36
desktop
m y ji b t m m e a h a
Ahtoh Bopucoe
Pa ah o fiyAy me ro?
fla>Ke TeM, kto 3H3kom c aHr/iMMCKMM fi3biKOM, c/iojkho c nepBoro pa3a noHATb,
mto >Ke 03HaHaeT HOBbm TepMMH — podcasting. C oahom ciopoHbi, c/ior «pod»
HanoMMHaeT 06 ayAnon/ieepax npon3BOACTBa KOMnamin Apple — iPod. C flpyroii
ciopoHbi, c/ior «casting» HaBepHflKa nMeei mto-to o6mee c BemaHneM — broad-
casting. Hto >Ke CBJi3biBaeT Me>KAy co6oPi Apple iPod v\ Bemam/ie?
HTo 6 bi He jiOMaTb noHanpacHy rojiOBy Haa TepMHHOM podcasting,
odparaMCH k OHjiaHH-dndjiHOTexe Wikipedia [1]. H bot hto bbi-
HCHHeTcn: «Podcasting — oto MeToa pacnpocTpaHeHHH ayaHO- h
BHaeonporpaMM nepe 3 MHTepHeT, ri 03 B 0 JiHK)mHn nojib 30 BaTejiHM
noanHCbiBaTbCH Ha onpeaejieHHbie 4 )aiuibi (H 3 BecTHbie TaioKe KaK
noTOKH — «feeds»), a 3 aTeM npocjiyniHBaTb h npocMaTpHBaTb cxa-
naHHbiH MaTepnaji b jnodoe yao 6 Hoe BpeMH. IIotok o6bihho npea-
CTaBjineT co 6 oit 3 ByxoBoii 4 )aiui b cjiopMaTe MP3».
Bot Tax, cyxo h He3areiijiHBO, HanncaHO b OHHHKjioneaHH. Ho hto
xe Ha caMOM aeae HBjineTCH noaKacTHHTOM h hcm 3to noHHTne xa-
HeCTBeHHO OTJIHHaeTCH OT TOTO, HTO npeaOCTaBJIHIOT nOTOKOBbie
HHTepHeT-paanocTaHu;HH?
noaxacTHHr — 3 to 3anHCb ayaHot^aiuiOB h pa3MemeHHe hx Ha
xaxoM-jindo Be 6 -cepBepe, c xoToporo nojib 30 BaTejib 3 adnpaeT RSS-
paccbuiKH [2]. TaxHM o 6 pa 30 M, xax tojibko cjiaHji nonaaaeT Ha cep-
Bep, oh aBTOMaTHnecKH noHBjineTCH b none 3 peHHH nojib 30 BaTejiH
nocpeacTBOM RSS-arperan;HH. B nepByio OHepeab 3to yaodHO caMO-
My nojib 30 BaTejno — npeacTaBHM, HanpHMep, hto BemaHwe onpeae-
jieHHOH nepeaanH xaxoii-jiHdo h HTep HeT-paanocraH hh h BeaeTCH b
HOHHoe BpeMH (npocTO pacnojioxeHa OHa Ha apyroM xomje CBeTa).
MOXHO OCTaBHTb KOMnbHDTep BKJIIOHeHHbIM Ha HOHb h 3 anHcaTb
HyxHyio TpaHCJiHaHK). A mo>kho npocTO BbiaejiHTb 3 Ty nepeaany —
ccbuixa 6 yaeT nepeaam nporpaMMe 3 arpy 3 KH, h nepe 3 HexoTOpoe
BpeMH 3 Ta nepeaana oxaxeTCH y Bac b pyxax (ecTecTBeHHO , OHa aojix-
Ha 6 biTb 3 anHcaHa b BHae OTaejibHoro 3 ByxoBoro cjiaHJia, a y Bac
aojDKHO 6 biTb ycTaHOBjieHO nporpaMMHoe odecneneHHe, ynpaBjuno-
Lixee RSS-noanHCxoii).
Hto xacaeTCH coaepxHMoro nepeaan, 3aecb y xe bobcio npOHBjin-
eTCH (J>aHTa3HH Tex, xto cocTaBjineT 3ByxoBoii pna, a cocTaBHTb ero
MOHceT jik)6oh nejiOBex, y xoToporo noa pyxoii ecTb mhxpocJioh, npo-
rpaMMa jsjm 3anHCH 3Byxa h coeanHeHHe c CeTbio. B npHHHHne,
odbiHHoro u;H(J)pOBoro aHXTO(J)OHa Toxe BnojiHe aocTaTOHHO. DiaB-
Hoe — nepeaaTb co3aaHHbiH (J>aiiji Ha xaxoH-jiHdo noaxacT-cepBep,
h ny6jiHxau;HH roTOBa. 3aecb yxe hh o xaxoii cjnuibTpaHHH h neroy-
pe TOBOpHTb He npHxoanTCH: ecjiH BaM HHTepecHO cjiymaTb — bbi
cjiymaeTe. Ecjih HeHHTepecHO, to hhxto Bac He 3acTaBjineT cxann-
BaTb tohhbi MeradauT HenyxHbix BaM aaHHbix.
Kto xe cjiymaeT noaxacra? B odiaeM-TO, 3to Te nojib30BaTejiH,
xoTOpbie C03aax>T cboh CTpaHHHbi b Live Journal, pa3JiHHHoro poaa
djiorax h Beayr, cxaxeM Tax, «aHeBHHXH». H, xohchho xe, 3to pa-
anocTaHu;HH, TOHHee Beaymne paanocTaHUHii. Ecjih x djiorrepaM Bee
yxe npHBbixjiH h HHnero npHHHHraiajibHO hoboto b 3toh ccjiepe yxe
HeT, to noaxacTepbi — HBjieHHe cpaBHHTejibHO HOBoe.
BnpoHCM, caM TepMHH podcasting hohbhjich aocTaTOHHO HeaaBHO,
niHpoxo o HeM HanajiH tobophtb b 2004 roay. PoaoHanajibHux stoto
TepMHHa, a Taxxe ot e h - oc h o BaTeji b npHHHuna noaxacT-BeiaaHHH —
AaaM Kappn. Koraa-To oh 6bui BeayuiuM MTV, a cennac yaapmiCH b
ccjiepy noaxacTHHra. Ha3BaHHe OTHacTH CBH3aHO c TeM, hto y Kappn
6bui ruieep iPod, Ha xoTOpbiii moxho 6buio 3arpyxaTb cjiaujibi h cjiy-
niaTb hx b jnodoe yaodHoe BpeMH. Xoth, HTodbi cjiymaTb noaxacT-
BeuiaHHe, BOBce HeodH3aTejibHO hmctb iPod, xax, BnponeM, h xaxoii-
jindo apyroii MP3 -ruieep. OdbixHOBeHHoii II3BM co 3ByxoBoii
IUiaTOH BnojiHe aocTaTOHHO.
CHIP LINUX 4/2005
lexHO/iorMM podcasting
37
BMpTya^bHbie paflHonpiieMHHKM
JXjw nojiyueHHH HHcjiopMaitHH o noaxacT-jiHcrax HeodxoaHMO cae-
jiaTB Tax, nrodbi iuieep Mor nojiyuaTb RSS-paccbuixH. Ha aaHHbiii
MOMeHT HMefOTCH cjieayiomHe xjmeHTbi, KOTOpbie Moryr pa6oTaTb
c noAKacT-3anHC5iMH:
► amaroK — npHjiojxeHHe rjw BOcnpOH3BeaeHHH ayanoc[)aHJiOB [7];
► BPConf — noaxacT-3arpy3UHx ana KDE;
► gPodder — erne oanH 3arpynnx noaxaer-paccbuiox, HanHcaHHbra
Ha Python h GTK [8];
► Juice (paHee hochbihhh hmh iPodder) — caMbin nepBbiH H3Becr-
Hbiii noAKacT-3arpy3HHK [9];
► jPodder — Taioxe oaHa H3 caMbix nepBbix nporpaMM rjw nojiyue-
hh r nottKacT-HH(J)opMaitHH (HanucaHa Ha Java) [10].
R penraji ocTaHOBHTbcn HMeHHO Ha jPodder djiaroaapn ero
Java-npoHcxojxaeHHio, a Taioxe OTuacTH H3-3a Toro, hto Ha mo-
MeHT HanHcaHHH 3 toh CTaTbH oh 6bm AOCTyneH aJin rniaT(J)opM
Windows h Mac, a rjw GNU/Linux HaxoaHjicn b CTaaHH nepepa-
6 otkh xoaa.
RjineHT jPodder- 1.0RC2 aocTaTOHHO xpynHbiii, okojio 10 MdaHT,
h npettCTaBjineT codon HHCTajuuniHOHHoe npnjiojxeHHe (nycTb Bac
He CMymaeT pacninpeHne .JAR). CjieayeT tojibko yKa3aTb anpexTO-
pHio, b KOTOpyio ero CjieayeT ycTaHOBHTb, h aejio b injume.
nepBbiM aeJiOM h nocnenmji Ha caftT BBC h penmji nocjiyinaTb
noaxacm anyx Beaynjux — Kpnca Moajica h Kpnca 3BaHca.
flodaBjieHHe hoboh jichtbi nponcxoanT aocTaTOHHO npocTO. Ha
BKjiaaKe «Personal Feeds» mejixaeTe npaBon xHonxoii MbiniKH h bo
B cnjTbiBaKDuxeM oKHe BbidnpaeTe «Add Feed».
flajiee 3anojiHneTe Hedojibinyio cjiopMy c yKa3aHHeM aapeca
XMF-(j)anjia noaxacTa h Ha3BaHHH jieHTbi. Ha 3tom noanncxa 3a-
BepmeHa, h mojkho npHCTynHTb k 3arpy3xe noaxacTa.
CjieayeT otmcthtb, hto b noaxacTax, noMHMO ID3-HHc[)opMa-
h;hh o Terax MP3-4>aHjia, MOxceT xpaHHTbcn h rpacfmHecxnn jio-
roTHn. HanpHMep, noxa 3arppxaeTCH noaxacT - HHTep bbio c 033H
Oc6ophom, bbi MoxeTe nocMOTpeTb, c xaxnM KauecTBOM ou;H(j)-
pOBaH aaHHBIH nOTOK.
HecKOJibKO cjiob o jPodder. HecMOTpn Ha to hto KuneHT padoTa-
eT noa Java, h He ncnbiTbiBaji xaxnx-jindo npodjieM, CBH3aHHbix c
dbiCTpoaencTBHeM nporpaMMbi. EanHCTBeHHbin HeaocTaTOK —
Hejib3n BbidpaTb Meananjieep, Tax xax ohh BbinojiHeHbi b xanecTBe
pacnmpeHHH h Moryr Bbi3biBaTb jih6o iTunes, jih6o Windows Media
Player, KOTOpbie noa Finux noxa He nopTHpOBaHbi. BnponeM, aB-
Topbi yBepniOT, hto HanncaTb pacniHpeHHe He npeacTaBjineT
TpyaHOCTeii, 6bijio 6bi y Finux-nporpaMMHCTOB jxejiaHne (bbto-
pbi hbjihiotch Win32-pa3pa6oTHHxaMH). OaHaxo odbexTHBHbix
npHHHH He npocjiymaTb 3ByxoBbie cjjanjibi b OTaejibHOM npnjiojxe-
hhh — XMMS, MPlayer hjih jho6om apyroM — Hex
CaM ce6e paflMOBeflymuM
C noMombio nero nojiynaTb RSS-jieHTbi, Bbi Tenepb 3HaeTe. A hto
T pedyeTCH aan Toro, HTodbi co3aaTb cboh codcTBeHHbiii noaxacT?
ByaeM CHHTaTb, hto H3 annapaTHbix pemeHnn y Bac tojibxo n3BM h
MH xpo(J)OH. A Taioxe onepauHOHHaH CHCTeMa h acejiaHne nro-jindo
3anHcaTb — 6yab to mbicjih hjih cxa3xa Ha hohb.
noHaaodHTCH naxeT Audacity (aJin H3daBjieHHH ot Heuy>KHbix iny-
mob h HOpMajiH3aitHH ypOBHB 3Byxa), a Taioxe lame (aJin ou;H(j)pOB-
xh). Kax npaBHjio, Audacity yjxe nocTaBjineTcn c noaaepjxxon
dndjinoTexn libmp3, noaTOMy coxpaHHTb <j)anji MP3 mojxho Heno-
cpeacTBeHHO H3 nporpaMMbi. CjieayeT noMHHTb, hto oaHa MHHyra b
cJiopMaTe MP3 joint-stereo HMeeT odbeM npHMepHO 1 MdaHT.
Cxa3aTb, hto Audacity — cjiojxHan jum noHHMaHHH nporpaM-
Ma, Hejib3H. Hecxojibxo xHonox — «OrapT», «CTon», «nay3a», «3a-
nHCb» — bot npaxmuecxH h Becb HeodxoanMbin accopTHMeHT c]iyHx-
itnn jsjm HauHHaiomero noaxacTepa. Cnocodbi CHuxcenuH inyMa h
yaajieHHH Heny>KHbix (jjpameHTOB nocTHraiOTCH nonra mthobchho.
CoxpaHHeM (j>aHJi b cjDopMare MP3, h nojiOBHHa aejia caejiam. OcTa-
jiocb 0(])0pMHTb Tern jum RSS-jieHTbi h coxpaHHTb cjiaHji Ha cepBepe,
npHHHMaioiiteM noaxacTbi.
MH(J)opMaHHH aJin RSS-jienr xpaHHTca b cJiopMaTe XMF, no3TOMy
npeaaaraio nocMOTpeTb, xax rpaMOTHO cocTaBjiHTb (Jjauji:
<?xml version =,, 1.0" encoding="iso-8859-l"?>
<rss version="2.0 M >
<channel>
<title>Site's Title</title>
<link>http://www.server.ru/podcasting/</link>
<description>All about your russian podcast </description>
<language>ru-RU < /language>
4/2005 LINUX CHIP
38
desktop
m y ji b t h m e a h a
<lastBuildDate>Fri, 01 Jun 2005 08:00:00 +0000</lastBuildDate>
<pubDate>Fri, 01 Jun 2005 08:00:00 +0000</pubDate>
<item>
<title>Podcast's title. </title>
<description>Notes, ID3 tags and other information. </descrip-
tion>
<enclosure url= M http: //www.server.ru/audiofile.mp3 M
length= M 12345678" type="audio/mpeg , 7>
</item>
</channel>
</rss>
Ter <?xml version— T.0" encoding="iso-8859-r?> obbHBjineT 06
ncnojib30BaHHH XML-CTanaapTa BepCHH 1.0 b KO^HpOBKe ISO-
8859. IloneMy hmchho b 3toh, a He b pyccKoii? MHe KaxeTcn 6ojiee
pa3yMHBiM HcnojiB30BaTB Ha aaHHOM 3Tane hmchho TpaHCJiHTepa-
U;HK) pyCCKHX CJIOB H Ha3BaHHH, HexeJIH COCTaBJIHTb OnHCaHHH B KO-
AHpOBKe KOI8-R. Bo-nepBBix, HeT rapaHTHH, hto abcojiiOTHO Bee
RSS-arperaTOpBi noHMyr Harnn KHpmijiHuecKHe TeKCTBi. A bo-bto-
pbix, onncaHHe ncypcacTa Ha aHDiHHCKOM H3biKe no3BOJiHT, HanpH-
Mep, KHTancKOMy paAHOCJiyniaTejiio cnoKOHHO cjiymaTB «Kalinka
Song», a He nbiTaTbca pa3o6paTb pyccKHe «HeporjiH(t)bi».
Ter <rss version="2.0"> HaunmeT onncaHHe RSS-jieHTbi. Ter
</rss>, cooTBeTCTBeHHO, 3aKaHHHBaeT onncaHHe pa3MeTKH. B 06-
meM, ecjin Bbi paboTajin c HTML-pa3MeTKon, to npaKrauecKH Bee
sjieMeHTbi b npHMepe 6yayr BaM nororrabi.
B Terax <title> n <link> onncbiBaiOTcn Ha3BaHne pecypca (to
ecTb cepBepa) n ero a^pec. A bot HenocpeflCTBeHHoe yica3aHHe
no^KacTa nponcxo^HT uyrb Hnxe — j\im 3toto cjiyxnT Ter
<item>. B HeM Ta xxe npHcyrcTByiOT Tern < title > n <description>,
KOTOpbie nyTb Bbime npettCTaBjinjin onncaHne cepBepa. H Baaoioe
ttodaBjieHne — Ter <enclosure>, b kotopom xpaHHTcn tohhbih a#-
pec nottKacTa. HHc[)opMaii;Hio o no^KacTe Taioxe mojkho npo^yb-
jinpOBaTb n b Terax caMoro MP3-4>anjia [13].
Ha 3tom noxa Bee. flajiee bbi ompaBjineTe Bam ncypcacT Ha pa-
aHOCTaHHHK) hjih pecypc, npHHHMaiomHH nottKacTbi, n pattyeTecb
3KH3HH, TO eCTb CJie^HTe 3a CTaTHCTHKOH CKaUHBaHHH.
Hhkto He o6n3biBaeT Bac coxpaHHTb no^KacT hmchho b (J)op-
MaTe MP3. Bbi MOxeTe coxpaHHTb ero n nan RealAudio (RM),
Apple Audio (MOV), OGG Vorbis (OGG) hjih ^axce b Windows
Audio (WMA). Tojibko noMHHTe, ajih Toro htoGbi noTeHijHajib-
Hbiii pattHOCJiymaTejib cmot Bam ncmicacT npocjiymaTb, ero 060-
pyttOBaHne (MP3-njieep, Meflnanjieep b n3BM) aojhkho 3th
(J iopMaTbi noHHMaTb.
CaM ce6e paflMOBeflymMM
Kto pa3MemaeT nojiKacTbi? B nepByio onepejib — p aji h o CTaH h h h .
B CHIA 3a 3 thm 3aHHTneM 6 buih 3aMeneHbi Minnesota Public Radio,
Air America, Boston public-radio station WGBH, Public Radio
International. B BejiHKobpnraHHH 3 to, kohcmho xce, BBC, Virgin
Radio, Capital. B Pocchh maBHbiM hctohhhkom pajiHonepejiaH hb-
jineTCii, kohchho 3c e, russianpodcasting.ru. Ha caMOM aejie AOCTaTou-
ho yaobHO npocjiymHBaTb KaKyio-jinbo nepe^auy hjih HHTepBbio no
Mepe HattobHOCTH, a He b npHMOM 3<j)Hpe.
Pa3MemaiOT nojiKacTbi h jno6HTejiH-3HTy3HacTbi. BnpoueM, ojx-
Horo 3HTy3na3Ma b 3tom aeJie h eaocTaTOH h o , noTOMy hto pa3Meiye-
Hne ayuHocjiaHJiOB, obcjiyacHBaHHe cepBepa h KaHaji cbh3h — TeMa,
3acjiy>KHBaK)maH oT^ejibHoro pa3roBopa. |
liCTOMHMKM MHC)30pMaUMM
[1] http://en.wikipedia.org/wiki7Podcasting
[2] http://en.wikipedia.org/wiki/RSS_ (file_format).html
[3] http://blogs.law.harvard.edu/tech/rss
[4] http://en.wikipedia.org/wiki/Really_Simple_Syndication.html
[ 5 ] http://en.wi kipedia.org/wi ki7List_of_news_aggregators.htm l
[6] www.petefreitag.com/item/465.cfm Howto Create an RSS 2.0 Feed
[7] http://amarok.kde.org/content/view/58/66
[8] www.perli.net/projekte/gpodder
[9] http://ipodder.sourceforge.net/index.php
[10] http://jpodder.com
[11] www.castpodder.net
[12] www.linuxforums.org/Linux%20RSS%20Feeds.html
[13] http://radio.blogware.eom/blog/_archives/2005/5/24/
882450.html - Proposed standard for podcast ID3 tags
[14] http://audacity.sourceforge.net
[15] www.easypodcast.com/ - a cross-platform GUI tool for easy
podcast publication
[16] www.podcastingnews.com/Podcasting_Software.html
[17] http://applications.linux.com/print.pl?sid=05/03/01/
155208 - Podcasting from Linux
CHIP LINUX 4/2005
desktop I HHTepcjieMCbi no/ib30BaTejin
OKOHHbiM m e h e a ik e p Ion
39
EBreHMM 3 o6hmh
flo/iroe BpeMfl MecTOM Moero o6nTaHmi 6bma o6biHHaa Linux-xoHco/ib c
3anymeHHOM nporpaMMon GNU/Screen. Bee 6bi 6bi/io xopoiuo. He bo3hmxhm
noTpe6HOCTb b rpacftMHecxoM 6pay3epe, HTeHnn xhmt b nony/iapHOM Hbme
c|)opMaTe djvu n flpymx rpac|)MHecxnx npn/io>xeHMflx. H npnxofln/iocb
MeTaTbCfl MeJKfly XOHCOJlbK) M «MXCaMM», Tax XaX HM OflHH M3 OKOHHbIX
MeHeflJKepoB He no3BO/ia/i flocmHb tom 3(j)c|}eKTMBH0CTM pa6oTbi, xaxaa
npeflocTaB/ia/iacb tom caMOM Screen. Tax m He HaciynM/i 6bi noxon, ec/iM
6bi Ha r/ia3a MHe He nona/ica MeHeflwep oxoh Ion.
noMeMy Ion?
Hto xe TaKoe Ion n neM oh Tax npHBjiex Moe BHHMaHHe? flejio b
TOM, HTO ero pa3pa60THHKH OTKa3aJIHCB OT npHBBIHHOH KOHIjen-
u;hh okohhoto OKpyxeHHn, npH^yMaHHOH eme KOMnaHHen
Xerox h 6jiaronojiyHHO b 3 htoh Ha Boopyacemie Apple, Microsoft
h 99% MeHe^oxepoB okoh. Bmccto Hee b Ion Hcnojn>3yeTcn yxe
H3BecTHan, ho He 3acjiy3CHBman ^ojDKHoro BHHMaHHn MO^ejiB
4>peHMOB h Ta6oB (3aKjiaflOK). OpeftM b flaHHOM cjiynae npe#-
CTaBjineT co 6 oh o6jiacTB oxpaHa (hjih BecB OKpaH), BHyTpn koto-
poii MOxeT 6 bitb 3anymeHO hcckojibko npHjioxeHHH-KjiHeHTOB.
IlepeKjHoneHHe Me^yty hhmh npOHCxo^HT npn noMonm Ta6oB
(HanoMHHaioniHx no (JiyHKiiHOHajiBHOCTH Ta6bi Be6-6pay3epOB).
IIoHnTHe OKHa b AaHHOM cjiynae OTcyTCTByeT Boodnje, ho moxho
CKa3aTB, hto okho Bcer^a 3aHHMaeT BecB (})peHM ijejiHKOM.
TaxHM o6pa30M, padonee npocTpaHCTBO pa3dHBaeTcn Ha He-
ckojibko HenepeKpLiBaioninxcn odjiacreH, a npo6jieMa c nepeTa-
CKHBaHHeM H H3MeHeHHeM pa3MepOB OKOH, 3anaCTyiO BBIBOAn-
man H3 cedn, Hcne3aeT BOBce. Ctoht 3aMeTHTB, hto He Bee nojiB-
30BaTejiH Ion npeflnonHTaiOT noflodHBiH cthjib pacnojioxeHHn
(jDpeiiMOB. MHorae o6bihho ncnojiB3yK)T Bcero o^hh (J>peiiM, 3a-
HHMaioniHH bck) padonyio roiomaflB.
YnpaBjieHHe (jDpeiiMaMH h Ta6aMH npOHCxo^HT nojiHOCTBio c
KjiaBHaTypBi, nooTOMy HeMHoro ocbohbihhhc5i c coneTaHHHMH
KjiaBHm nojiB30BaTejn> CMO^ceT pemaTB MHorne 3aflanH dyKBajiB-
ho 3a flOJiH ceKyH^Bi, He npHderan k noMOiim MeHio h hkohok.
IIjhoc ko BceMy Ion no3BOJineT H3MeHHTB npaKranecKH Bee napa-
MeTpBi, pa3MecTHTB 3anycK nacTO Hcnojn>3yeMBix npHjioxeHHH
Ha KjiaBHaTypHBie KOMdHHau;HH, odjia^aeT Mo^yjiBHoir apxHTeK-
TypOH, noA^ep^HBaeT dockapp (h 3 WindowMaker h AfterStep),
MO^ceT 6 bitb pacniHpeH 3a cneT npocToro CKpHnTOBoro n3BiKa
lua, HcnojiB3yeT ckhhbi h coflepxHT b cede eme MHOxecTBO #py-
rnx B03M0XH0CTeH. IIpocyMMHpoBaB Bee BBimecKa3aHHoe, MBI
nojiynaeM H^eajiBHBiii padonHH ctoji #jih jhoach, ijeHnmHx CBoe
BpeMH, a He KpacoTy HmyHTHBHO noHHTHoro HHTepcjDeHca.
4/2005 LINUX CHIP
40
desktop
MHTepcjieMCbi no/ib30BaTeiiii
|/lHCTai1JmL|l451
Ha AaHHbra MOMeHT cymecTByiOT ABe TeKymne BepCHH npo-
rpaMMbi: CTadHjibHan BTOpan h pa3padaTbiBaeMan TpeTbu. Meac-
Ay C060H OHH He COBMeCTHMBI, n03T0My KOH(J)Hrypai^HOHHbie
(j)aHJibi ot TpeTben BepCHH He dyAyr pa6oTaTb bo btopoh, h Ha-
o6opOT. nOMHMO 3T0T0 HOBaH BepCHH COACpXHT B Ce6e MHOHCe-
CTBO nOJie3HbIX (J>yHKAHOHaJIbHbIX AOnOJIHeHHH H yjiyHHieHHH.
no CBoeMy onbiTy Mory cxa3aTb, hto OHa yace AOCTaTOHHO CTa-
dnjibHa h BnojiHe noAxoAHT j \ ji & noBce^HeBHoro Hcnojib30Ba-
hhh. nosTOMy AajibHeinHee noBecTBOBaHHe dyAeT nocBHmeHO
HMeHHO Ion 3. B 3 htb ero ncxoAHbie koabi mohcho c oc[)HAHajib-
hoh CTpaHHiabi http://modeemi.cs.tut.fi/~tuomov/ion. TaM nee
pacnojiOHceH apxHB c AOKyMenraAHH, pa3Mep KOTOporo, hto
noKa3aTejibHO, 6ojibme caMoii nporpaMMbi. YcTaHOBKa BecbMa
TpHBHajibHa (./configure && make && make instaff), ho Tpedy-
eT HajiHHHH HHTepnpeTaTOpa fua (www.fua.org). ,D,jhi Tex, kto He
b Kypce, fua — 3 to npocToii odBeKrao-opHeHTHpOBamibiH hh-
TepnpeTHpyeMbiH H3biK nporpaMMHpOBaHHH, co3AaHHbiii cne-
AnajibHo AJin BCTpaHBaHHH b Apyrne npHjioxeHHH. Homhmo
Ion oh Hcnojib3yeTCH b tckctobom Be6-6pay3epe ELinks h Apy-
thx MeHee nonyjrapHbix npHjioxeHHHx.
nepBOe 3H3K0MCTB0
no oKOHuaHHH ycTaHOBKH bbixoahm H3 X Window, KOnHpyeM
cjiaHji -/.xinitre b yxpoMHoe MecTeuxo h BbinojiHueM KOMaHAy
echo "exec ion3" > -/.xinitre. 3 th flehcTBHH HanpaBjieHbi Ha to,
nrodbi HayuHTb KOMaHAy startx 3arpyacaTb Ion BMecTO npeABiAy-
iAero okohhoto MeHe^xepa.
nocjie BecbMa HenpOAOJUKHTejibHoro npou;ecca 3 arpy 3 KH Ion
BCTpeTHT Hac npHBeTCTBeHHbiM coodnteHHeM h npeAJioxcHT npoun-
TaTb man-CTpaHHu;y. Ot htchuh aoKyMeHTamm 0 TKa 3 biBaTbcn He
coBeTyio, Tax xax CTaH^apTHan HacTpoftKa ropanux KjiaBHin Kpaii-
He 3 anyraHHa h He noAAaeTCH HHTyHTHBHOMy ocBoeHHio (b cjie#y-
lomeM pa 3 Aejie mbi 3 to HcnpaBHM).
nocjie 03 HaK 0 MjieHHH c AOKyMeHTaitHeh mohcho HaumiaTb
padoTy. /(jih Tex, kto He npHBbiK uHTaTb MaHyajibi hjih He cmot
pa 3 o 6 paTbcn c TepMHHOJiorHeii, ocBemy ocHOBHbie MOMeHTbi.
no yMOJinaHHK) Ion 3anycKaeTcn c OAHHM-eAHHCTBemibiM
<£>peHMOM, pacTHHyTbiM bo Becb 3KpaH. Ero BepxHan CTpOKa co-
AepxnT HMeHa TadoB, 3 a nepeKjnoueHHe MejKAy kotopbimh ot-
BenaiOT KOMdHHaitHH «Aft+K N» (cjieAyioiAHH Tad), «AIt+K P»
(npeABiAyntHH Tad) hjih «AIt+K X», trq X — HOMep Tada. Bhh-
3y — CTpOKa coctohhhh, KOTOpyio oTpHCOBbiBaeT Mo^yjib status-
bar (mbi eme 3aHMeMcn ero HacTpoincoH). Anajior khohkh «3a-
KpbiTb okho», npHcyrcTBytomeii b 3arojiOBKe OKHa odbimioro
okohhoto MeHeAxepa, — KOMdHHaitHH «Aft+C». K <J)yHKAHO-
HajibHbiM KjiaBHmaM («F1— FI2») npHBH3aHbi pa3JiHUHbie no-
jie3Hbie ^eHCTBHH, HanpHMep: «FI» — npocMOTp man-CTpaHHA,
«F2» — 3anycK xterm, «F3» — 3anycx BbidpaHHoro npHjioxe-
hhh. no KjiaBHine «FI2» AOCTynHo ocHOBHoe Memo, H3 kotopo-
ro MOJKHO 3anycTHTb nporpaMMbi, BbidpaTb cthjib ocjiopMjieHHH
HJIH BbIHTH H3 X Window.
A xax >Ke xBajieHbiii npuHAun pa3AejieHHH padoaero npocTpaH-
CTBa Ha odjiacm? H npaB^a, no yMOJiuarono y Hac Ha 3KpaHe npn-
cyrcTByeT Bcero oahh cJipeHM, ho AOCTaTOHHO HaxcaTb «Aft+S», 3K-
paH pa3AejiHTca no ropH30HTajm Ha Ase odjiacm - mb HarneM pac-
nopHHceHHH yxe ABa cjipeiiMa; eme oaho Ha^arae KOMdHHaitHH — h
TpH. nepeKjnoueHHe Me^my hhmh — «Aft+P» (Bbirne) h «Aft+N»
(Hicxe). BepTHKajibHoe pa3dHemie 3KpaHa — «Aft+K S», nepeKjno-
ueHne — «Aft+Tab» (BnpaBo), «Aft+K Tab» (bjicbo). nocToirre, ho
CHMMeTpHHHbie 4)peiiMbi — 3to xe coBceM HeyAodHO. /(jih BKjnone-
hhh pexcHMa H3MeHeHHH pa3Mepa (jipeHMa HaxcHMaeM «Aft+R», a
3aTeM — KjiaBHnm HanpaBjieHHH ajih yBejiuHenuH pa3Mepa hjih Te
jk e caMbie, ho b CBH3Ke c «Shift» min yMenbiueHua. /(a, yHHHTOxcaeT
cJipeHM KOMdHHaitHH «Aft+K X». He 3adyABTe coxpaHHTb ceccnio
(«FI2 -> Session -> Save») nepeA bbixoaom H3 X Window, HTodbi npu
cjieAyiOLHeM 3anycKe Ion nojiOHceHHe Bcex cJipeHMOB He H3MeHHjiocb.
BnojiHe ecTecTBeHHO, hto Ion noAAepxcHBaeT nonyjiHpHyio
KOHu;enij;Hio MHO^cecTBa padouHx ctojiob. Bot tojibko 3Ta TeMa
He Tax npocTa, noTOMy hto 3Aecb npeAJiaraeTCH Ha Bbidop a x ue-
Tbipe BHAa padouHx ctojiob:
► WlonWS — CTaHAapTHbin padounn ctoji, HcnoBeAyioiAHii koh-
AenAHio TadoB h (J)peiiMOB. Hmchho oh Hcnojib3yeTCn no yMOJiua-
hhk) h onpeAejuieT odjiHK okohhoto MeHeAxcepa.
CHIP LINUX 4/2005
OKOHHbiM m e h e a ik e p Ion
41
► WPaneWS — eme o#hh cxoxhh uojixoji x opraHH3aHHH pabone-
ro npocTpaHCTBa. B 3tom cjiynae 3xpaH pa3#ejieH Ha HecxojiBxo ob-
jiacTefi (jDHKCHpoBaHHoro pa3Mepa. Ka^max o6jiacTB npe£Ha3Hane-
Ha fljiH 3anycKa onpeflejieHHoro rana npHjioxeHHH. HanpHMep,
dockapp byaeT aBTOMaTHnecxH noMenjeH b objiacTB HebojiBHinx
pa3MepOB, r,ae eMy h MecTO, a Be6-6pay3ep — b ocHOBHyio. npnneM
pa3MepBi h KOJTHHecTBO objiacTen, a Taxace ajiropuTM pa3MemeHHx
npKJioxeHHH nojiHOCTBio HacTpaHBaeMBi. PexoMeuayio nosxcne-
pHMeHTHpOBaTB, OHeHB 3aHHTHO.
► WFloatWS — cnepHajiBHBiH pabonnH ctoji, xax 3 to hh napa^ox-
CaJIBHO, CO CTanaapTHBIM OKOHHBIM HHTep(J)eHCOM, XOTX H He JIH-
meHHBiH Ta6oB h <J)peHMOB. npe#Ha3HaHeH mix 3anycxa mhoto-
okohhbix npHjioxeHHH, TaKHx Kax GIMP h ImageMagic, ynpaB-
jixtbcx c KOTOpBiMH npH noMOiim Ta6oB oxem> npobjieMaTHXHO.
► PaboxHM ctojiom MoxeT CTaTB OAHa-eAHHCTBeHHaB nporpaMMa!
fljix 3Toro HcnojiB3yHTe xoMbHHapmo KjiaBHin «Alt+Enter».
HrobBi nojryHHTb aocTyn k HOBOMy paboxeMy CTOJiy, cjieayeT ero
C03AaTB, HaxcaB «F9», a 3aTeM yxa3aTB hmx h THn. n epe kji k>h e h m e
MQXijiy CTOJiaMH — «Alt+X», me X — nopxflxoBBiii HOMep. Tax Kax
noTpedHOCTb b co3#aHHH paboxero CTOJia WlonWS B03HHKaeT na-
me, xeM apyrnx THnoB, b CTauaapTHOH Hacipoiixe xoMbHHaunx
«Alt+F9» npHBH3aHa k cjiyHKHHH co3HaHHx paboxero CTOJia no
yMOJinaHHio. YHHXTOxcaeTCx paboxMM ctoji, Kax h Bee ocTajibHoe b
Ion, npn noMomn He3aMbicjiOBaTon KOMdnHapnn «Alt+C».
KoHenHO xce, KJiaBnaTypa — He eanHCTBeHHoe cpeacTBO ynpaB-
jiemix. Mbinib Bnojme xoppexTHO n npeacxa3yeMO paboTaeT n
no3BOJineT nepeMemaTBex Mexmy TabaMH n Bbi3biBaTb pa3JiHXHBie
xoHTexcTHbie Memo xjihxom npaBon xnaBninn. npnxeM Mbinib
nojiHOCTBio noaaaeTcn npoueccy HacTponxn. C apyron CTOpOHbi,
OHa Bce-Taxn ocTaeTCx aonojiHHTejibHbiM cpeacTBOM ynpaBjiemix
n nojie3Ha pa3Be xto Ha paboxeM CTOJie THna WFloatWS.
Kax yxe 6bijio cxa3aHO, b hhxh en xacin paboxero CTOJia Ha-
xoanTCH CTpoxa CTaTyca. OHa oxeHB noxoxca Ha aHajiorHXHyio
CTpoxy xoHCOJibHoro Screen h npe#Ha3HaxeHa #jix OTobpaxceHnx
pa3JiHHHOH anHaMHnecxH MeHiHoiaeHcn HH(J)opMau;HH. TeopeTH-
necxH Moayjib statusbar, OTBenaiomnn 3a OTobpaxeHne 3toh
ctpoxh, moxcho 3 anp orp aMMHp ob aTb Ha noxa3 xero yroaHO.
PafioHMM CTO/i b CTHJie Matrix
B MHTepHeTe aocTynHbi cxpmiTbi, OTobpaxcaiomHe 3apx#xy 6a-
Tapen Hoyr6yxa, cocTOxmie ceTeBoro HHTep^enca, Ha3BaHne
xoMno3Hu;HH, npOHrpbiBaeMOH XMMS, h t. a. Flo yMOJinamno b
CT poxe OTobpaxaiOTCx BpeMx, obmax 3arpy>xeHHOCTB CHCTeMbi h
xojinnecTBO nnceM b xnmxe.
Tax xax no CBoeii cyra CTaTycHax CTpoxa — oto Bcero jihihb
CTpoxa, OHa He MoxceT OTpHCOBbiBaTb rpa(j)HXH, HHanxaTopbi h
npoxyio rpa^nnecxyio mnjiopMaiuHO. 3Ty npo6jieMy moxho no-
6opOTb, ncnojn>3yx Tax Ha3biBaeMbiH dock. Oh xoporno 3HaxoM
nojib30BaTejwM WindowMaker, AfterStep h Fluxbox (npaBaa b
3tom oxohhom MeHemxepe oh Ha3biBaeTcx Slit). Dock npeacTaB-
jixeT cobon Hedojibinoe oxornxo (obbixHO He HMeiomee paMox) h
no3BOJineT pa3MecTHTb b CBoeM npocTpaHCTBe Hecxojibxo dock-
app — npHjioxeHHH c pa3MepOM oxHa npHMepHO 64x64, xoTopbie
xax pa3 H 3aHHMaiOTC5I OTpHCOBXOH p a3 JIHHHbIX Tpa(J)HXOB ( 3 a-
rpyxeHHOCTb npoaeccopa, xojmxecTBO naMXTH, odbeM ^hcxobo-
ro npocTpaHCTBa h t. a.)- 3HaMeHHTbiH Gkrellm Toxce MOxeT
CTaTb dockapp, ecjiH b HacTponxax nocTaBHTb rajioxxy HanpOTHB
onu;HH «YcTaHOBHTb ran oxHa dock hjih panel». Moayjib dock b
Ion pa3MemaeT dock b onpeaejieHHOM yrjiy axpaHa Tax, htoGbi oh
nepexpbiBaji Bee (jipeHMbi, He3aBHCHMO ot BbidpaHHoro THna pa-
6onero CTOJia. Hto6bi dock He Mernaji padoTaTb b apyrnx npnjio-
xeHHHx, ero moxho cnpHTaTb, HaxaB «Alt+D».
| HacrpoMKa |
IloBCHDay b Ion mo3cho obHapyxHTb cjieabi H3bixa lua, h aaxe Bee
HacTpoenHbie (jiamibi hbjhhotc5i lua-cxpnnTaMH h coaepxaT mho-
XeCTBO BBI30B0B npOU;eayp, OdbHBJieHHH (|)yHXU;HH H XOMMeHTa-
pneB. ObbinHOMy nojib30BaTejno, npHBbixmeMy x rpa(J)HnecxHM
ko h cj) n rypaTOpaM , Taxon cnocob HacTponxH MOvxeT noxa3aTbcn
6e3yMHO cjiOvKHbiM h HeonpaBaaHHbiM. Ha caMOM aejie lua —
oneHb npocTon H3bix, no3BOJHnoiaHH 6e3 ocoboro Tpyaa aobaBHTb
nporpaMMe yHHxajibHOH (J)yHxu:HOHajibHOCTH.
fljiH Hanajia npeaJiaraio cxonnpoBaTb pabonyx) KOHcJinrypaunK)
H3 xaTajiora /usr/local/etc/ion3 (xaTanor MO^ceT bbiTb hhoh, ecjin
bo BpeMH ycTaHOBxn bbui yxa3aH apyron npe(J>nxc) b ~/.ion3. TjiaB-
HbiH xoH(J)Hrypau;HOHHbiH (Jiarni hocht hmh cfg_ion.lua h Bxjnona-
1 rnmi
/ , ,
HakPX" IrdOf
| ft
. - ■: L,
nOa-KfiT in
tUOTTC :
dfJUuUfnjs.. Lua
rpd
•. ■ -4
. ctlCOH! , tS3t<US' J <d
Uier-. ' 3C"Ai i
cfi^ddtl . ]'ja
L3C-5 ruejC
mol
; 44
errjbinejfisi.su*
Ijie. Un
mfr ■ :ccln>i
cf j rjdariA. Ill*
\. f j& rODf
n»C
•4
d a dack . juu
L&QJ un
:• °
dg Jsm.su*
1234 r cor
rwt
i
ds . * ini r«i . Lua
L?6S jlh
U'.ir . I 100^4
rSO]
rt»E
t+f.i'SmpJya
15JJ .Un
I0C*h1
|Ji4 TOPS
roue
L 1 4
df Janus., JiiH
Un
fi-'.- 1
d(_rw-.'iLi. J..LS
53 J rod
rpoE
■ =4
ctj - Lua
LZW Un
ueir; 1 : ti-l
cle.nHUie.kJi
1590 rati
ply.'
tfj jiwiu.iua
■■'3] Un
cOer: j n.vfrH
tfj lua
1 1312 mot
riSOC
V
hm
t=150 jLn
dg_pjJU. Lua
root
■^4
C l S.ODneiKS . LUJ
1JT£ ,UP1
&■ .
cl s jMiUm>3ins>- lua
£53 root
rcoc
. ■, a
nl $ ..auer'ji. iuo
jlH
uzerz ; :0irH
tig .nmvncrijs ■ !ua
Un
1 . •• - :< fc-i
•dg querij.lu*
root
cff.statiiMar. J-jd
Hn
& '
Cl e 19 . Lua
TT1 root
reoE
deck -dr ju. J un
tH. -in
uier l !
:u9
root
■1
_sh(su. iui
LS.J9 Un
1^#^$ soo&m
rlnsk ' -Jr.iij, Jua
I rftfrf
A
ipq* *aLPt,i«a
192? 1 !,□
i.
i Lrcrfc. . Liu
i:i:iilD :\ ITajfc
rail
JiXlTTT
1 lor*. . Lua
kli.'liii jl>
UMS-S lit) too
Loot .tirnunsicc 2.1 ja
rnot
y[
LKi
'j T IQ Un
I,.-".
Jfick clean. |u«
I rool
r«C
..4
Luck In®
irtfr: j if. mm
Uwk-CieanJgE, Sup
I rmst
:• • -4
Lo» ,£ Lein, iui
uatTL ; loobii
look .CltAnvlfi LUC . lua
3 KB rout
:• : -4
stffc] .'Lfl
uvrr-. 1 iQOSfll
JLn
1M* jrawlfllat . UiS
3-130 rswt
rwi
L«* .[hj'Sk'J. LlLd
J-l'-j un
use*: :00&M
l3C* Jas.]ij.a
35J0
ri»i!
Lod ravt'iti Ld . lua
IUO jLn
USS' : '
iflek ..iL»r]« Lu4. lua
root
lEf,
LK*_Ln , !-iya
■. jiV(frN
LSH}k_«ti¥*t;, lua
3413 r w t
r coc
Lee* , s LEcJtb Llc. lua
3UT3 JLn
wer 1 1 :o
Ik— 9 1
lee* Lua
30 335 Jin
Uie<-1 1 3C"Ai-i
St»tUCU_IW£) . LM4
Wl Un
IrtF- SOO^i;
-
sT’itysfi .res . lua
53T Jin
wei-i l(K«H
*
-
nU 1 1
r, 1
■
Gkrellm Hennoxo BnncbiBaeTca b pa6onee npocTpaHCTBO Ion
4/2005 LINUX CHIP
42
desktop I MHTeptpeMCbi no/ib 30 BaTe/iii
eT b ced h ocHOBHLie ycTaHOBKM, a TaKace 3arpy3KyapyrHx nojie3Hbix
MOAyJieH h CKpnnTOB ((J)yHKu;HH dopath()). Ka^cabm Moayjib bbi-
nojiHiieT onpeAejieHHbiH Ha6op c[)yHKu;HH h, cooTBeTCTBeHHO , HMe-
eT codcTBeHHbiH KOH(J)nrypaij;iiOHHbiH (J)aHJi.
Hapa6oTKM coo6ujecTBa
fOTOBbie paClUHpeHMB
B Mwpe Open Source y>Ke asb-
ho m ycneiuHo padoiaei He-
nucaHbm 33 koh: «nepefl TeM
KaK HanaTb hto-to co3AaBaib
caMOMy, y3Haw, He C03Aann
jua 3to ao Te6a». K Ion oh
TOH ce npMMeHMM: cymecTBy-
eT peno3mopnM CKpnmoB-
paCUlHpeHMM, B KOTOpbIM
cneAyeT 3anmAbiBaTb, nepeA
TeM KaK nucaTb CKpnmbi ca-
MOCTOHTeJlbHO. BOT CnMCOK
CaMbIX, Ha MOM B 3 MHA, MH-
TepecHbix npeACTaBMTeneM
3 toto peno 3 MTopMn:
► cfg_dock.lua — KOH(|}Mry-
pauMOHHbiM (jpann p,na dock
C paCUinpeHHblMM B 03 M 0 >K-
hocthmm ynpaB/ieHMn. Te-
nepb dock mo>kho nepeMec-
TMTb B mo 6 y \0 HaCTb 3 KpaHa
npn noMOLAM KiiaBMaiypHbix
KOM 6 MHaAMM.
► ctrl_statusbar.lua — koh-
c()MrypaTop nnn ctpokm cocto-
hhmh. npeACTaBnneT co6om
M 6HK), Bbl3blBaeMOe npaBbiM
KJ1MKOM MbILUM.
► document_menus.lua —
nepeMeiueHMe no c|3aMnoBOM
CMCTeMe C MCn0/lb30BaHMeM
MepapxMM MeHio.
► enumerate. lua — npoHyMe-
poBbiBaeT Ta6bi, ynpoman Ha-
BMrauMK).
► exec_show.lua — bcjimko-
jienHbiM CKpum, no3BOiinio-
uhmm npocMarpMBaTb bmboa
shell-KOMaHA bo BcniibiBaio-
meM oKHe Ion.
► rss_feed.lua — BcrpaMBaeT
b Ion HacTonu^MM npocMOTp-
IAMK RSS-HOBOCTeM.
► schedule.lua — no3BonneT
3anporpaMMMpoBaTb bnboa
npoM3BOJibHoro coo6u^eHMn b
onpeAeneHHoe epeMfi; 3 abkmm
6yAMnbHMK.
► emacs-bindings.lua — Kiia-
BMaTypHbie KOMdunaunn b
ctm /ie peAaKTopa Emacs.
► statusd_netmon.lua — mo-
HMTOp CeTeBOM aKTMBHOCTM
Aim CTPOKM COCTOflHMfl.
► statusd_laptopstatus.lua —
noKa3biBaeT TeMnepaiypy,
3apnAKy 6arapeM m cxopocTb
npoueccopa b CTpoxe coctoh-
hmh. Pa6oTaeT c ACPI.
► statusd_xmms.lua m sta-
tusd_mpd.lua — noKa3biBaeT
Ha3BdHMe K0Mn03MAMM f npOMT-
pblBaeMOM B AaHHbIM MOMeHT
n/ieepoM XMMS m/im mpd.
HauHeM, KaK h 6 buio odemaHO, c HacTpOHKH ropauHx Kjia-
bhih. fljiH 3 Toro npe^ycMOTpeH CKpnnT cfg_bindings.lua. Bojib-
IIIHHCTBO npHB 5 I 30 K KJiaBHIH 3 a£aeTCH HMeHHO B HeM, XOT 5 I HHKTO
He 3 anpemaeT ^ejiaTb oto b jho 6 om ApyroM CKpnnTe, rjiaBHoe —
3 arpy 3 HTb ero H 3 cfg_ion.lua. Ilpcmecc KOH(j)Hrypau;HH npHBH 30 K
ocymecTBjiHeTCii nocpe^CTBOM Bbi 30 Ba (J)yHKu;HH defbindings()
(Ha caMOM rqjiq 3 to MeTO^ KJiacca ioncore, ho b 3 tom h Bcex no-
cjie^yiomHx cjiyuanx mbi onycTHM HeHyacHbie no^podHOCTH) c
AByMH apryMeHTaMH: KOHTeKCT h 6 jiok Bbi 30 Ba (J>yHKu;HH kpress().
npe^ycMOTpeHO ueTbipe KOHTeKCTa.
► WScreen — KOMdHHaiiHH pa 6 oTaK)T bq 3 rq .
► WMplex — KOMdHHaijHH padoTaiOT bo Bcex <J>peHMax h padounx
CTOJiax.
► WFrame — KOMdHHau;HH padoTaiOT bo Bcex (jDpeftMax. To ecTb
Be 3 ^e KpOMe «rojioro» padouero CTOJia THna WFloatWS h padouero
CTOJia b BH^e oahoto npHjioxeHHH.
► WMoveresMode — KOMdHHaijHH AOCTynHbi b pexcHMe H 3 MeHe-
hhh pa 3 Mepa h nepeMemeHHB.
Thhhhhbih Bbi 30 B defbindings() BbirjumHT npHMepHO Tax:
defl)indings("WScreen M , {
kpress(MOD 1 . . ' "F9" , ,, ioncore.create_ws(_)' , ),
})
FtoAodHan 3 anncb 03 HauaeT, hto h>okho npHBH 3 aTb KOMdn-
Hau,HK) «Alt+F9» k (J)yHKi3HH coa^aHKH HOBoro padouero CTOJia.
MODI coAepxHT CTpoKy «Alt+», a onepaTop «..» CKjiaAbiBaeT
ABe CTpOKH (b AaHHOM cjiyuae — «Alt+» h «F9»). He nyraiiTecb,
ecjiH HHnero He norauiH, CKpnnT cfg_bindings.lua yxe coAepxHT
Bee HeodxoAHMbie jijik Bbi 30 Ba (J>yHKu;HH, ocTaeTcn tojibko H 3 -
MeHHTb CTaH^apTHbie KOMdHHaH,HH Ha CBOH COdCTBeHHbie.
Xopomen H^eeH dy^eT H 3 MeHHTb KOMdnHaixHH «Alt+X» (nepe-
KjHoneHHe Meac^y CTOJiaMH) Ha «Alt+FX», npe^BapHTejibHO
3 aKOMMeHTHpOBaB (b lua KOMMeHTapHH — «--») BCe CTpOKH,
npHBH 3 biBaK)Hi;He «Alt+FX» k ApyrHM (|)y hkh;hhm . OcBodo^HB-
HiHecH «Alt+X» mo 3 cho 3 anporpaMMHpoBaTb Ha nepeKjHoueHHe
TadaMH, hto ropa 3 AO y^odHee, ueM «Alt+K X». Taicace
mo 3 cho nponncaTb cjie^yiOHiHe ctpokh:
-- Execute a command
submap(MODl.. M E H , {
CHIP LINUX 4/2005
OKOHHbiM m e h e a ik e p Ion
43
kpress("T", "ioncore.exec_on(_, 'xterm')"),
kpress("M", "ioncore.exec_on(_, ’:mc')"),
kpress("E", "ioncore.exec_on(_, 'relinks')"),
})
Tenepb no xoMbmiaitHH «Alt+E T» byzteT 3anycxaTBcn
xterm, no «Alt+E M» — me n t . MoaceTe AobaBHTB CTpoxn
Ajih 3anycKa HyacHBix BaM nporpaMM. KcTaTH, 3HaK «:» nepe#
KOMaH^on yKa3biBaeT Ha to, hto ee cjie,ztyeT 3anycxaTB b hobom
T epMHHajie. Kax Bu^nTe, <J>yHxijHH submap no3BOJineT co3,zta-
BaTb MHoroypOBHeBbie xoMbnHaitnn, bjiaro^apn neMy mbi no-
jiyuaeM orpOMHoe pa3HOo6pa3ne OHbix. HanpnMep, xjiaBna-
TypHBie KOMbHHaitnn moxho ncnojn>30BaTB j\jik ynpaBjieHnn
ay^HonneepOM, 3anycxa ceTeBbix (JiynxianH (noAxmouemie, ot-
xjnouemie, SSH n t. a.), BBmBmxeHmi jiOTxa CD-ROM, moh-
THpOBaHHii <J>anjiOBBix cncTeM n MHororo Apyroro.
Tenepb co3£a,ztHM CBoe Memo (to, KOTOpoe Bbi3biBaeTcn no
«F12»). fljiH 3Toro onnTb ace npe^ycMOTpeH oco6bih cxpnnT
cfgmenus.lua, b Hero mbi h BnnmeM Hyacm>ie HaM CTpoxn.
Hto6bi noHiiTb, xax bbitjm^ht Memo b hcxoahom (Ha H3bixe
lua) BH^e, paccMOTpHM cjie^yioniHH npHMep:
defmenu("mainmenu", {
submenu("programs", "appmenu"),
})
defmenu("appmenu", {
menuentry ("xterm", "ioncore.exec_on(_, 'xterm')"),
})
3/tecB mbi npH noMontn cjiyHxiiHH defmenu() C03,ztaeM ochob-
Hoe MeHio (oho Bcer^a hocht hmh mainmenu) n flobaBjraeM b He-
ro no^Memo appmenu c HMeHeM programs, flanee no onncaHHon
Bbiine cxeMe C03AaeTcn no^Memo appmenu, xoTOpoe 6yaeT co-
AepacaTB nyHXT xterm, 3anycxaiomHH OAHOHMeHHyio nporpaMMy.
Bot h Bee, 3a noflcxa3xaMn odpamanTecb x co^epacnMOMy opn-
rnHajiBHoro cxpmrra.
CTaTycHan CTpoxa ko h c() n rypnpyeTca b (jianjie cfg_statusbar.lua,
n tojibxo b HeM. Co^epacnMoe CTpoxH 3a,ztaeTcn b nepeMeHHon tem-
plate b BH#e TexcTa n cneitnajiBHBix cjiob.
PaccMOTpHM npHMep:
template="[ %date || load: %load || mail: %mail_new/%mail_total ]"
CneitnajiBHBie cjiOBa %date, %load, %mail_new n %mail_total
npn BBiBO^e 6yayr 3aMeHeHBi Ha noxa3aHna cooTBeTCTByiontero
cueTunxa, Bee ocTajiBHoe nohzjeT Ha axpaH b Hen3MeHHOM Bime.
Bee ueTBipe nepeuncjieHHBix cueTnnxa hbjuhotch BCTpoeHHBiMH.
RTobbi co3flaTB cboh cneTunx, Hyamo HanncaTB cneitnajiBHbin
cxpnnT c HMeHeM «statusd_HMH.lua», noMecTHTB b xaTanor ~/.ion3
n BCTaBHTB ero Ha3BaHne b nepeMeHHyio template (He 3a6biB yxa-
3aTB 3Hax %). HanncaHne Taxoro cxpnma h paccMaTpHBaTB He 6y-
tty, Tax xax 3 to TpebyeT onncaHnn cnHTaxcnca lua.
Hy n Hanocjiea;ox BHeceM Hecxojibxo xocMeTnuecxnx H3MeHe-
hhh. 3arjinHeM b (J)anji cfg_dock.lua n H3MeHHM no3nn;HK) dock,
fljin 3 toto 3annmeM b nepeMeHHyio pos o#ho H3 ueTBipex 3Haue-
hhh: tl (BepxHHH jieBBiH yron), tr (BepxmiH npaBBin yron),
bl (hhxhhh JieBBiH yron) n br (hhxhhh npaBBin yron). Taxace no-
jie3HO H3MemiTB HanpaBjieHHe pocTa (c xaxon ctopohbi byzjeT
AobaBjniTBCH hobbih dockapp), npncBOHB nepeMeHHon grow
3HaneHne left, right, up hjih down. B Ion 3 ecTB nmepecHBin mo-
AyJiB scratchpad, OTXjnoueHHBin no yMOJinamno. Scratchpad —
3TO He 3aBHCHMBIH ot pabounx CTOJIOB (J)peHM pa3MepOM
640x480, nouBjunontHHcn b uenrpe axpaHa nocjie Haacaraii xom-
GnHaitHH xjiaBHin «Alt+Ilpo6eji». Ero yaobHO ncnojiB30BaTB
AJin 3anycxa ay/tnomieepa, cjiOBapn n Apyrnx npnjioacemiH, xoto-
pbie He aojdkhbi npncyrcTBOBaTB Ha axpaHe nocTOUHHO. Hto-
6bl aXTHBHpOBaTB 3TOT MO^yjib, pacxoMMeHrnpynTe CTpOXy
dopath("mod_sp") b expurne cfg ion.lua. |
flono/iHMTe/ibHaa MH^opMamm
Padoia c flna/ioroBbiMM h yBeflOMjnnomMMM okh 3 mm
MO>KeT 6blTb, y KOrO-TO M3 mm-
TaTeneft bo 3 hmk Bonpoc: nan
Ion nocrynaeT c AuanoroBbiMM
m yBeAOMnniOLMMMM OKOiiiKa-
mm? BeAb ecnii TaKiie OKHa
6yAyT OTKpblBdTbCn B HOBOM
Ta6e, to MAen «k 3 >kaom npo-
rpaMMe no Ta6y» noMAST KOTy
noA xboct, a pa6oiaTb b TaKOM
okohhom MeHeA>Kepe CTaHeT
HeBbIHOCHMO. Ho M C 3TOM npO-
6neMOM nporpaMMMCTbi enpa-
Biiniicb, npwAyMaB MHTepec-
Hoe pemeHMe. no onpeAe-
neHHbiM npi43HaKdM Ion pac-
no 3 HaeT OKHa Tanoro TMna,
yMeHbuiaeT hx pa 3 Mepbi ao
OAHOM TpeTM 3 KpaHa M OTpiiCO-
BbiBaeT npnMO noBepx cymecr-
ByiOllteM KapTMHKM. TaKMM 06-
pa 30 M, Ana/ioroBoe okho nan
6 bl BJlMBaeTCfl B OCHOBHOe.
“13-
jf- r]
TaK Bbir/iaAMT kohc|)m-
Lkh 4
WS il.il n il
rypaTop 6pay3epa
O'"-
WMi.U 4* M. H
ma.n.ui
II
Opera b Ion
r i i
d"-
a™ r
3^
" '
- 3
- E— _ "3 Nt; a
i - r — i - 1
4/2005 LINUX CHIP
44
desktop
pa3BsieHeHMD
lleip CeMM/ieTOB
TB-npMCTaBKa
Ha MOHHTOpe
3 tot o63op nocBJimeH SMy/iaTopaM ycrapeBwux nrpoBbix KOHConeii,
K/iaccMHecKMM Ky/ibTOBbiM TB-npMcraBKaM NES, SEGA Genesis/Mega Drive
n Super Nintendo. BnponeM, Ha3biBaTb nx papmeiaMn He/ib3fl — ohh ao
cmx nop npncyTCTByiOT Ha OTenecTBeHHOM pbiHKe n no/ib3yfOTCfl cnpocoM,
6yAyHM AeweB/ie coBpeMeHHbix u HeBeponTHO moiahux PlayStation 2
n Xbox, He KOHKypnpyn c HeM-/iu6o, a npodo 3ano/iHflri Hnwy
HeAopomx nrpoBbix KOHConeii.
Ho bot 6e^a — xapTpn c urpaMu k TaKHM npHCTaBKaM ctoht
AObojibho AOporo. a h He KyroimB Bee, He HaiiAenib. Ho ecjin noft-
TH B CeTB H nOHCKaTB, TO M03CH0 HaHTH Tax Ha3biBaeMbie ROM —
(JiaHJibi c o6pa3aMH, chhtbimh c KapTpHAxen. To ecTb caMH Hrpbi
jih6o hx c6opHHKH. Pa3yMeeTcn, hto6bi 3anycTHTb ROM h nrpaTb b
HT pbl, Hy>K6H OMyjIHTOp COOTBeTCTByiOLIieH npHCTaBKH. Cpa3y OT-
Meny, hto cymecTByiOT 3aKOHHbie h He3aKOHHbie ROM, a Taioxe co-
3a;aHHbie 3HTy3HacTaMH. KpoMe toto, ecTb ROM KOMMepnecKnx
HTp, B TOM HHCJie H OHeHb CTapbie, KOTOpbie KOMnaHHH-H3AaTeJIH
AO chx nop He OTAajiH HapOAy 3aAapOM. He^aBHO noHBmiocb noHH-
me «vaporware», xor^a CTapbie Hrpbi cnncbiBaiOT, nepeBOAHT b CTa-
Tyc 6ecmiaTHbix, cbo6oaho pacnpocTparoieMbix.
06biHHO caHTbi c ROM KOMMepnecKHx urp AepxaTcn Ha rniaBy
ot CHjibi HecKOJibKO HeAejib. B Pocchh, BnponeM, ecTb h pexopAC-
MeHbi. R He 6yAy paccKa3biBaTb, TAe moxho b3htb o6pa3bi. Hnjy-
iahh Aa o6pHmeT. BeAB SMyjiHTOp — 3 to xax KOMnbioTep. Ha HeM
MOvKHO 3anycKaTb nnpaTCKHH cocJit h jierajibHbiH. C noMombio
nporpaMM ajih C03AaHHH ROM bbi MO^ceTe C03AaTb kohhh co6-
CTBeHHbix Hrp (npH HajiHHHH Heo6xoAHMoro Rim 3TOTO xejie3a),
nepeBeAB hx c KapTpHAxen b ROM, h nrpaTb yace Ha 3MyjiHTOpe.
CymeCTByiOT ROM C pa3HBIMH TpacjDHHeCKHMH H 3ByKOBbIMH acmo-
BepCHHMH, a Taxace npHKjiaAHbie nporpaMMbi aj ih kohcojih NES.
Tyr yace Bee coBepmeHHO jierajibHO. noApo6Hyio HHC^opMaiiHio
MOvKHO nojiynHTb, HanpHMep, Ha caifre http://nesdev.parodius.com.
OMyjiHTOpOB b Linux AoeraTOHHO mhoto. Hac HHTepecyiOT 3My-
jiHTOpbi npHCTaBOK NES, SEGA Genesis h Super Nintendo (SNES).
B 3tom o630pe ocHOBHoe BHHMaHHe yAeneHO TeM H3 hhx, KOTOpbie
a Hcnojib3yio caM, noTOMy hto CHHTaio hx jiynniHMH no cjieAyio-
iahm napaMeTpaM: npocTOTa ycTaHOBKH, noAAepacxa MaKCHMajib-
Horo KOJiHnecTBa nrp h bo3moxchoctb nrpaTb c noMOiuBio reiiMna-
Aa hjih A^coHCTHKa. Hy h, kohchho ace, HeManoBaacHoe 3HaneHne
nrpaeT HajiHune AonojiHHTejibHbix cjiyHKHHH, TaKHx xax coxpaHe-
Hne/3arpy3Ka b hcckojibko cjiotob h ckopoctb peHAepnHra. 06 oc-
TajibHbix 3MyjiHT0pax h Toace paccKaacy, OAHaKO mhmoxoaom, noA-
nepKHyB jinmb hx cjia6bie h CHjibHbie CTOpOHbi.
I NES I
HauHeM c 3MyjiHTOpOB kohcojih NES. HeKOTopbie uHTaTejm, B03-
movKho, HeAoyMeBaiOT — hto 3to 3a NES Taxan? CoKpainenHe NES
paciHHcJipoBbiBaeTCfl KaK Nintendo Entertainment System. Y Hac OHa
H3BecTHa 6jiaroAapH KJiOHy — Dendy. Bo3MoacHO, noAo6Hbie ycTpoii-
CTBa ao chx nop nbuiHTca y mhotiix Ha ampecojiax. KpoMe Dendy Ha
pbiHKe 6 buih h ocTaiOTcn KHTancKHe kjiohbi NES BpoAC Zhilitong.
B HapOAe NES Ha3biBaiOT «fleHAH» jih6o npocTO «bocbmh6htkoh».
CaMbiii nonyjiHpHbiH 3MyjiHT0p NES jinn Linux — 3 to, kohchho
ace, TuxNES (http://tuxnes.sourceforge.net). nocjieAHHH ero Bepcn a
Bbiinjia b 2001 roAy. BnponeM, 3 to He aojixcho oropnaTb: ObiTyer MHe-
Hne, hto 3MyjiHT0pbi, KaK xopomee bhho, — hcm erapee, TeM jiynme.
Ha nepBbin b3tjiha TuxNES He BneHaTjiaeT. MajieHbxoe
okoihko, reiiMnaAa He bhaho, pa3Be hto pecypcbi npoijeccopa
noeAaiOTCH aobojibho yMepeHHO. Ho 0Ka3biBaeTca, y 3MyjiaT0pa
oneHb MHoro napaMeTpOB, nepeAaBaeMbix nepe3 kom ah AH y io
CHIP LINUX 4/2005
0 6 3 0 p 3 M y U T 0 p 0 B K 0 H C 0 H H
45
CTpOKy. He Tax MHoro, KaK b MPlayer, ho Bce-TaKH aocTaTOHHO.
HanpHMep, He bh^ht TuxNES a^Koiinaaa. A mbi 3aaaaHM eMy on-
u;hk) --jsl=/dev/js, h Bee 3apa6oTaeT.
HrpOBoe okho MajieHBKoe? Ero moxho yBejiHHHTB KOMaH^on:
tuxnes -E <hmh crania c Hrpon>. Mojkho BBi6paTB h peHaepep no
BKycy, 3anycTHB OMyjiHTOp cjieayiomHM o6pa30M:
tuxnes -r=<3HaueHHe>
3aecB 3HaneHHe MOxeT 6 bitb o^hhm H3 cjieayioiaHx: xll, diff
hjih old (cTapBin peHaepep).
TuxNES yMeeT aeJiaTB ckphhhiotbi (KjiaBHHiH «S», «F7»,
«PrintScreen»). IJ,H(J)pOBBie KjiaBHHiH ot 0 ao 8 ynpaBjnnoT cxopo-
ctbk) OMyjiHHHH, a He, Kax 3to HHoraa 6 biBaeT, cjiOTaMH coxpaHe-
HHH? YbBI. B TuxNES COXpaHeHHH HeT.
no noBoay coBMecTHMOCTH c nrpaMH 3aMeny, hto ya n b n tc ji b h an
Battle Toads padoTaeT. A pa3 HopMajibHO moxho urpaTB b TaKyio
npoaBHHyTyio nrpy, to ocTajibHbie tojk e HaBepHHKa dyayr padoTaTB.
Aa>xe King's Quest V. He nouayr tojibko caMbie nepeaoBBie urpbi,
BBimeanme b cepeaHHe 90-x roaoB Bpoae Aladdin, hjih «nepe(J)op-
MaTHpOBaHHbie» (Lion King, nopTHpOBaHHan c 16 dHT). H npnaeT-
ch odpaTHTB B30p Ha apyron OMyrurrop. Hm dyaeT, Bepoirrao, Fceu
(www. icewalkers . com/Linux/Software /58270/FCE - Ultra . html) .
JlereHaapHbiii Fceu... Ecjih dui He ero HejnodoBb k reiiMnaay
(xoth, no naee, oh aojuKeH padoTaTB), h dbi Bee BpeMH Hcnojn>30-
Baji aJiH 3MyjiHu;HH NES hmchho ero. HeM xe hmchho oh Tax xo-
poin? A peHaepHHr nepe3 OpenGL He xomTe jih? A noaaepacKy
Bcex nrp, KaKne tojibko mojkho cede npeacTaBHTB? Bee 3to ecTB.
nojiH03KpaHHBiii pejKHM? fla, b OTjiHHHe ot TuxNES. CoxpaHe-
Hne, 3arpy3Ka coctohhhh htpbi — k BaniHM ycjiyraM.
Ecjih y Bac HeT a^coiiCTHKa hjih ero noaaepJKKa He KpHTHHHa,
to Fceu nojiHOCTBio yaoBjieTBOpHT Banin noTpedHOCTH b 3Myjin-
u;hh NES. A KaK HacneT SEGA?
| SEGA |
noa HMeHeM SEGAy Hac noapa3yMeBaiOT odBiHHO 16-dnmoe aera-
me KOpnopaaHH SEGA, KOTOpoe Ha3BiBajiocB Mega Drive (b #no-
hhh h EBpone) h Genesis (b CHIA). K KOHuy aeBHHOCTBix roaoB
nponuioro ctojicthh Ha nrpoBOM pBiHKe dojiee hqm 90% npHHaaJie-
jxajio NES. BocBMHdHTHan npncTaBKa ot SEGA — Master System, —
dyayun TexHHuecKH dojiee pa3BHTOH, hqm NES, He CMoma nodeanTb
KOHKypeHTa. npeB30HTH NES mojkho dBuio jinmB djiaroaapH TexHH-
necKOMy npopBiBy. OTMeny, hto roaoM paHee b npoaaxe yace nonBH-
jiacB 16-dnTHaa npncTaBKa KOMnaHHH NEC — PC Engine, ho TeM-
nBi ee npoaa>K dBuiH aoBOJiBHO hh3khmh. H bot BBixoaHT SEGA
Mega Drive. Toraa OHa CTOHJia $200. Majio kto 3HaeT, hto b Hee
BCTpoeH 3MyjiHTOp Master System, a HeKOTopBie KapTpnaJKH k Mega
Drive — Ha caMOM aejie nrpBi Master System, aaanTHpOBaHHBie noa
hobbih pa3BeM KapTpnaJKa. U,eHTpajiBHBiH npoueccop b Mega Drive —
16-dHTHBiit Motorola 68000 (okojio 8 MTu, nacTOTa BapBHpyeTCH b
3aBHCHMOCTH ot BepCHH kohcojih jijw PAL hjih NTSC), a jijw odpa-
dOTKH 3ByKa HCnOJIB30BaJICH CTapBIH aodpBIH BOCBMHdHTHBIH Zilog
Z80, padoTaBmHH Ha nacTOTe okojio 4 MTu;. 3tot ace Z80 pado-
Taji KaK ochobhoh npoaeccop b peacHMe 3MyjiHu;HH Master System.
Xoth KaKan Tyr 3MyjiHHHH — CKOpee 3to HaTypajiBHBiii peacHM pado-
tbi. B KOHu;e aeBHHOCTBix h Hanajie HBmemHero BeKa Mega Drive
npOHHO aeJiHJia OTeHecTBeHHBiii pbihok c NES. SNES (Super
Nintendo), o KOTOpon enje noiiaeT penB HHace, He CHHCKajia b
4/2005 LINUX CHIP
46
desktop
pa3BsieHeHMD
POCCHH TaKOH HapO^HOH JIK)6 bH (OAHa H3 npHHHH — IIHpaTLI co3aa-
BajiH b ochobhom kjiohbi NES h Mega Drive).
JXjw 3Myjiinj;HH Mega Drive nepBtiM aenoM coBeTyio nonpodo-
BaTB Gens. Ha ocjmaHajibHOM cahTe nporpaMMbi (www.gens.ws)
bbi He odHapyxrrre Bepcmo ana Linux. Hcxoahhk MHoronjiaT-
(}) 0 pMeHH 0 H BepCHH MoxcHO OTBicxaTB Ha http://sourceforge.net/
projects/gens. B HeM coaepncHTcn Bepcnn Gens 2.12-rc3. CnpaBea-
jihbocth paan OTMeuy, hto ctoht noncxaTb ncxoaHHx 3toh BepCHH
OTaejiBHO, nocKOJiBKy CKOMnnjiHpOBaTB ero dyaeT npoine, HexejiH
aHajiornHHyK) Bepcnio H3 «MHoromiaT(J)opMeHHoro» an CTpH6ymBa.
B nocjieaHeM cjiyuae Moryr B03HHKHyTB npo6jieMBi c Bepcneft
Autotools (3to nporpaMMBi-CKpHnTBi automake, autoconf h apyrne).
H C 06 paTB HCXOaHHK MO>KHO 6yaeT TOJIBKO 3aMeHHB HCnOJIB3yeMBie
b HeM 4>aHJiBi Bpoae depcomp, contig, config.sub h hm noaodHbie Ha
3th xce 4>aHJiBi H3 Bamero ancTpudyraBa Linux (aocTaTOHHO caejiaTB
Ha HHX CCBDIKH). B03HTBCH C 3THM 3aX0UeT He Ka>I<abIH, OaHaKO H co-
6paJI CBOK) BepCHK) HMeHHO TaK. npH HaJIHHHH HaBbIKOB 3T0 3aHMeT
JIHUIb TpH MHHyTbl Ha yCTaHOBKy.
Gens cuHTaeTcn oaHHM H3 jiyunmx 3MyjiHTOpOB Mega Drive
noa Windows. CnpaBeanHBO 3to MHeHHe h npHMeHHTejibHo k
BepCHH ana Linux. rpacjmuecxHH anroxox Gens 3aBH3aH Ha dnd-
jinoTexe SDL, a HHTepcjieHC co3aaH Ha ocHOBe GTK+ 2.4 (hjih
Bbime). npH 3anycKe Ha padoueM CTOJie OTaejibHO OTodpaxaeTcn
OKHO C HrpOH H OTaejibHO — y3K0e GTK-OKOniKO C nOJIOCKOH
MeHio. DMyjMTOp MOvKeT padoTaTb h b nojiHoaxpaHHOM pexHMe
(nepeKjHonaeTcn xoMduHaanen KjiaBHm «Alt+Enter»).
rpa<i>HKa b 3MyjiHT0pe Ha BbicmeM ypOBHe. Ectb okho noacTpon-
KH HpKOCTH H KOHTpaCTa. TaM XCC MOXCHO BKJHOHHTb pOKHM, npH KO-
TOpOM nrpbi padoTaiOT b pe>KHMe rpaaamm ceporo naeTa — BeponT-
ho, ana jnodHTejieH bchomhhtb MOJioaocTb, Koraa He Bee TejieBH30pbi
noaaepxcHBajiH BHaeocTaHaapT PAL h npHxoanjiocb HipaTb Ha HBeT-
hom TejieBH30pe b nepHO-dejibie Hrpbi. npHcyrcTByeT (JiyHXHHH Bep-
THKajibHOH CHHxpOHH3au;HH, a Taioxe Hexan «Stretch» (paerara-
BaHHe). Kax aehcTByeT nocjieaHHH, ocTajiocb ana mchh TahHoh.
MOJKHO BbldpaTb OaHH H3 HeJTOH aX»KHHbI peHaepOB, HTO, BnpOHeM,
noBjiHneT tojibxo Ha oxohhbih pe>KHM. B nojiHoaxpaHHOM Hcnojib3y-
eTCH tojibxo oaHH peHaepep — Double. C noMonibio xoMdHHaiiHH
xjiaBHm «Shift+Backspace» C03aaeTcn cxpHHmoT Texymero xaapa.
Gens npexpacHO 3MyjiHpyeT h 3Byx, h My3bixy. KcTara, ana My3bi-
xh 3MyjiHT0paM Mega Drive npuxoauTCH 3MyjiHpOBaTb aea unnceTa —
YM2612 ot Yamaha h SN76489 ot Texas Instruments. LlocjieaHHH
Hcnojn>3yeTCH b 03Bynxe nrp x Master System.
B MeHio «Sound» n Hameji nyHXT « Start WAV dump» — ana
BbiBoaa 3Byxa bo BHeniHHH WAV-c^ata, oaHaxo 3Ta onu;HH 3a-
djioxnpOBaHa. Hacxojibxo n noMHio, b Windows-BepCHH aHajio-
rHHHbiH nyHXT MeHio padoTaeT.
B 3MyjiHT0pe oneHb xopomo peajiH30BaHa CHCTeMa coxpaHe-
hhh — no aecnTb cjiotob coxpaHeHHn/3arpy3XH Ha xajxayio nrpy.
3a BCeMH 3THMH a^HCTBHHMH 3aXpenjieHbI TOpHUHe XJiaBHmH.
Bojiee TO TO, (JjOpMaT COXpaHeHHH COBMeCTHM C TaXHMH 3MyjIHT0-
paMH Mega Drive xax DGen h Genecyst.
OaHOH H3 H3I0MHH0X GenS HBJIHeTCH B03M03CH0CTB HaCTpaH-
BaTb xjiaBHmn ynpaBjieHHH — aenaeTca 3to b oxHe « Controller
Setting», xoTOpoe Bbi3biBaeTcn nepe3 nyHXT MeHio «Option ->
Joypads». KpOMe odbiuHoft xaaBHaTypbi noaaepJKHBaeTCH h reftM-
naa. B MeHio «Option» HaxoaaTca erne ane nojie3Hbie cfiyHXHHH
«Load config» h «Save config As» — ana 3arpy3XH h coxpaHeHHn
ajibTepHaTHBHbix (JiaftaoB xoHcjmrypaiiHH, pa3Hbie BapnaHTbi xoto-
pbix 3auacTyio dbrnaeT yaodHO xpaHHTb ana pa3JiHUHbix nrp. B (jjan-
jie xoHcjmrypaaHH coxpaHJHOTcn h HacTpobxH xjiaBHin/reHMnaaa.
npoune 3aMenaHHH. B njiaHe coBMecTHMOCTH c HrpaMH — n
He BCTpeuaji eiae Taxne ROM, xoTOpbie dbi He 3anycxajincb b
Gens. B nrp ax «c daTapebxaMH» padoTaiOT odbixHOBeHHbie, npe-
aycMOTpeHHbie b Taxnx nrpax, coxpaHeHHe h 3arpy3xa.
Gens HMeeT odbixHOBeHne noTpedjmTb b nojiHoaxpaHHOM pe-
xHMe nouTH Bee pecypcbi npoaeccopa, xaxob dbi oh hh dbui na-
ctotbi. npH ycTaHOBjieHHOH Karamba/SuperKaramba nrpaTb
b Gens npaxTHuecxH HeB03M03KH0 — npepbiBaeTcn 3Byx. H3-3a
3toto n yaajiHji co CBoero xoMnbiOTepa SuperKaramba.
Mor jih n 3aMeHHTb Gens Ha xaxob-HHdyab apyron 3MyjmT0p?
flaBabTe nocMOTpHM.
CHIP LINUX 4/2005
0 6 3 0 p 3MyjlflT0p0B KOHCO/ieii
47
fuetflay ] ffllsS?
EF
w
j
GORIFIG OHEflT
lopnoras
f<]RX FRAME SKIP
|
I 7/ AUTQ FRADIE RATE
1 U NEW GFX ENGINE
1 ■ AUTO IWCRNNT SrtVE SLOT
f 71 PlfllX SUPPORT
USE PLS^*# AS PL1/2
W FF5 FIT PROGRAM START
P USE S0HZ FOR TURBO
■ ENABLE GOME CLOOK
■ TOGGLED FAST FWD/'SLWDWN
V SRAM CHEOK+SAVE
■ OLD GFK MODE £
■ START AT LATEST SAVE
P AUTO STATE 5SVE/LOHD
■ DON' T SfiVE CUR PATH
HalH
Ectb Taxan nporpaMMa DGen (www.pknet.com/~joe/dgen-
sdl.html). Pa3pa6oTxa ee ocTaHOBjieHa. Tpa^nnecKoro mrrep-
4>enca HeT. 3anycKaeTcn H3 KOMaHAHOH CTpoxn. HacTpanBaeTcn
nepe3 Hee xe, a eme nocpe^CTBOM cjiaHjia KOHcjmrypaiiHH . B py-
KOBO^CTBe k HeMy oneHB CMyrao onncaHO, xax HacTpanBaTb
renMnafl. A 6e3 pynHon HacTpomcH padoTaiOT tojibko xpecTOBH-
Ha n ocHOBHBie KjiaBHiHH, ho He KHonKa «Start». Bmccto Hee
npHxoAHTcn HaxHMaTB «Enter».
DGen ocHameH MexaHH3M0M coxpaHeHmi/3arpy3KH (KjiaBHniH
«F2» h «F3») onnTB-TaKH b cjiotbi, a Taioxe bo3mojkhoctbio 3ann-
CH H BOCnpOH3BefleHHH ^eMOpOJIHKOB B CBOH (JlOpMaT.
3Byx b DGen, Ha moh B3rjmA, 6ojiee KauecTBeHHbiH, ueM b
Gens, noTOMy hto 16-6hthbih. A eme DGen noAAepxHBaeT peH-
AepHHr nepe3 OpenGL.
Tenept o HeAOCTaTKax DGen. Eta Moen ManiHHe (Athlon XP
2600) DGen He3aBHCHMO ot pexHMa peHAepHHra noTpedjnui
okojio 99% pecypcoB npoijeccopa. JIhhho Memi b DGen He ycT-
panBaeT pa3Be hto cjiojkhoctb b HacTponxe ynpaBjieHHH.
H nocjie^HHH b o630pe OMyjiHTOp Mega Drive — Generator
(www.squish.net/generator/). ft cxauaji Bepcmo Generator 0.35.gtk.
/(jin nojiB30BaTejn>CKoro HHTep^enca b Hen npnMeHeH CTaptin
GTK+ Bepcnn 1, a rjw rpacjimcH — Be3flecyman SDL. KpOMe to-
ro, Generator mojkho KOMnnjinpOBaTB noA SVGAlib n Allegro.
npHUTHBin OMyjiHTOp — npaBHjibHO cpadaTbiBaeT KHonKa «Start»
Ha MoeM renMna^e, pecypcw npon;eccopa noTpeGjunoTcn yMepeHHO.
PadoTaeT aaxce cjiyHKHHH 3anncn Bnaeo n 3Byxa b AVI! Hto6bi nojiy-
JlK) 6 onblTHbie (JjaKTbl
M3 MCTOpMH NES
Ha nnoHCKOM pbiHKe NES no-
flBMnacb b 1983 rofly nofl Ha-
3BaHMeM Famicom (Nintendo
Family Computer). Asa roAa
cnycTB KOMnaHun Nintendo
BbinycTnna aMepmoHCKyio
Bepcmo kohcojim, ywe noA
MMeHeM NES. B TeqeHMe nomn
AGCflTnjieTMfl oHa 6bma ;iMAe-
poM npoAa>K cpeAM nrpoBbix
KOHeonen, n nmub b 1988 ro-
Ay ape NES 6bm nojioweH ko-
Heq c npnxoAOM 16-6hthom
SEGA Genesis/Mega Drive,
CTaBiuen KoponeBon kohco-
jien k Hawany 90-x toaob.
Me>KAy TeM nnoHCKoe noApa3-
AeneHMe Nintendo npoAOJi-
wano BbinycxaTb NES BnnoTb
AO 2003 roAa, a npon3BOACT-
bo 6bmo csepHyTO no npwqn-
ne HexBaTKM HyjKHbix 3nex-
TpoHHbix KOMnoHeHTOB. Bnpo-
qeM, 3to He MeiuaeT ApyrwM
KOMnaHMBM BbinycxaTb KJlOHbl
NES no cen AeHb.
ueHHBin 4>anji BOcnpOH3BOAHjicii Ha 6ojn>mnHCTBe mieepOB, HaAO
3anTH b Memo «Emulation -> Options» n Ha BKjiaAxe «Logging» b
ceKunn «AVI output settings» b cnncxe (JiopMaTOB BbidpaTb 3Hane-
Hne «RGB» (c MJPEG-cxaTneM Hadji loaaiOTCH npodjieMbi).
BceM 3 tot 3MyjiHTOp xopom, jx a HeT y Hero b SDL-BepCHH noji-
H03KpaHHoro peacHMa. IIocjieAHee odHOBjieHne Generator 6buio
npOBe^eHO b Mae 2003 ro#a. B to xe BpeMn Gens nBjineTcn ca-
mbim CBexcHM padoTaiomHM 3MyjiHTOpOM Mega Drive ajiu
L inux — ero nocjie^HHH pejiH3 Bbimeji 3 hmoh 2005 ro^a.
Super Nintendo
SNES — Super Nintendo Entertainment System. BxcnByio h HHicor-
A a He nrpaji Ha SNES. 3 tot 16-6HTHbiH KOHKypeHT SEGA Mega
Drive npeBoexoAHji nocjieAHioK) no TexHHuecKHM xapaKTepHCTH-
xaM, OAHaxo o6omaji ee b nonyjinpHOCTH tojibko Ha ocTpOBax
RnoHHH. OcTajibHoii MHp npeanoueji Mega Drive.
Jlynmnii 3MyjiHTOp SNES Bcex BpeMeH h HapoaoB, a Taioxe Bcex
njiaT(J)opM — ZSNES (www.zsnes.com). nporpaMMa aKTHBHO pa3pa-
GaTbiBaeTcn, npnneM h Linux-nopT hhkto He nycxaeT Ha caMOTeK.
rpa(J)HHecKHH HHTepcjDeHC b ZSNES peajiH30BaH Ha opHrmiajib-
hom ABmioce h padoTaeT BHyrpn OKHa, b kotopom 3anymeH 3Myjm-
Top. /(ocTyneH otot HHTep(j)eHC h b nojiHOOKpaHHOM pejKHMe.
B ZSNES MOvKHO BbidpaTb oahh H3 HecKOJibKHx peH^epepOB,
HTO n03BOJiaeT HCnOJIb30BaTb 3MyjIHTOp KaK Ha OTHOCHTeJIbHO Ma-
jiOMOHjHbix KOMnbioTepax, TaK h Ha «HaBopoueHHbix» MamHHax.
Ka^AOMy no noTpedHOCTUM. Mojkho HacTponTb BHAeopexHM,
npHneM KpOMe odbiHHbix AOCTynHbi Taxace h OpenGL- Bap naHTbi —
OKOHHbie h nojiH03KpaHHbie. BoraT ZSNES h 3ByKOBbiMH HacT-
pOHKaMH — B MeHK) MOJKHO HaHTH pa3Hbie BHAbI HHTepnOJIHLtHH,
(JmjibTpbi h BKjnoueHHe pejKHMa «Surround».
noAAepxHBaiOTCii coxpaHeHHe h 3arpy3Ka coctohhhh nrpbi.
B npou;ecce padora 3MyjiHTOp 3arpyacaeT npou;eccop npHMepHO Ha
99%, CHKacan Harpy3Ky tojibko b pexcHMe nay3bi. ZSNES aobojibho
CT adiuieH — tojibko OAHaxcABi oh y Memi «BbuieTeji», Ha caMOM ot-
BeTCTBeHHOM MOMeHTe b Donkey Kong. Xoth, bo3mojkho, acjio dbi-
jio b npodjieMax c OpenGL Ha MoeM KOMnbiOTepe.
BcTynan b nrpy
KaK bhahm, b Linux mojkho noAodpaTb 3MyjiHTOp npaKTHnecKH
AJin Jliodoil KOHCOJIH — XOT5I WindOWS 3MyjIHT0p0B BCe-TaKH
dojibme. Ho nrpaTb ecTb Ha neM h, rjiaBHoe, bo hto. A HeKOMMep-
necKne ROM jxjisi Bcex nrpoBbix KOHCOJieii mojkho HaiiTH Ha caii-
Te www.pdroms.de/index.php. |
4/2005 LINUX CHIP
48
desktop
no;ie3Hbie Aono/iHeHn
A/ieKceM PycaKOB
flaHejib
h ee odmaiejiH
B 3tom ciaTbe Bbi y3Haeie o HecKO/ibKMX npeACTaBme/iflx coc/ioBi/m an/ieTOB.
3to CKpoMHbie no pa3Mepy nporpaMMbi c y3KoPi c|DyHKUH0Ha/ibH0CTbK), Mecro
o6mam/m KOTopbix — naHe/ib OKOHHoro MeHeflwepa.
Mtiorae flucTpuGyTHBBi Linux bhocht jihuib He3HauureaBHBie H3Me-
HeHHH b HCxo^Hoe pacnoaoaceHHe naHeaeu GNOME. CTanaapTHan
jsjm GNOME KOH^Hrypanua — napa naHeaeu, KOTOpaa noaBjiaeTca
npn nepBOM 3anycKe GNOME. CBepxy — Memo h HecmiiBKO kho-
noK 3anycKa npuaoxeHuu, cmoy — naHejiB 3anan u n epe kjt k) h aTeji b
paGonnx ctojiob, a rne-HHGyaB — uacBi, HumucaTOp pacnaanoK, oG-
jiacTB yBeAOMjreHHH. MHorue jiK)6HTejiH «npuGopHBix naHeaeu» c
Kyueu unauKaTOpOB cpa3y ycTaH aBjr h BaiOT Gkrellm kuk CTanaapT ne-
(J>aKTO nan GTK-MOHHTOpa pecypcoB h npouero. Moray TeM naHejiB
GNOME moxcho pacnojTOxcHTB Kax ropH30HTaaBHO, Tax h BepTH-
KajiBHO, u ecTB nojie3HBie amieTBi, no3BoaaiomHe eu cocTaBHTB koh-
KypeHUHK) Gkrellm, ecau y Hero He cjihihkom caoacHaa xoHcjiHrypa-
HHa (kOHCMHO, B03M03CH0CTH 3TOTO MOHHTOpa OCTaBJiaiOT aajreKO
no3anu amieTBi GNOME, oaHaKO He BceM 3to H3oGHJiue Hyaoro).
Size
Bookmarks
2KB
r
2KB
1
4KB
2
1KB
1
1KB
1
1KB
1
4KB
1
1KB
1
5KB 1
_J Inbox for .
i Cm-icoK ko..
C c
G g
Ha BepTHKasibHOH naHe/in
CBepxy bhh3: mini-commander,
bookmarks, cnncox okoh.
3flecb we BMflHbi eiue ABe
BepTxxaobHbie naHejix:
Ha JieBoii - anneT charpick
(xacca chmbojiob),
Ha npaBoii - teatime (naimiM
TaiiMep)
KpyMy-Bepny...
ropH30HTajiBHoe npocTpaHCTBO Ha coBpeMeHHOM (c pa3pemeHHeM
1024x768 h 6ojiee) 3KpaHe aemeBae, hcm BepTHKajiBHoe. flpyruMH
caoBaMH, ao6aBHTB xoTa 6bi CTpouicy k 3KpaHy xoueTca name h chjib-
Hee, Heaceau BepTHKajiBHyio noaocry. CoraacurecB, HHTaTB aanHHBie
CTpOKH He Tax yac yao6HO, 3aTO ot aonoaHUTeaBHon crpouKu Ha 3K-
paHe xyace hbho He CTaHex B 3tom pa3aeae a paccxaacy o tom, KaKue
aaeMeHTBi Moamo pa3MecTHTB Ha BepTHKaaBHOH naHeau h hto c Hen
Moamo caeaaTB ana oGnien noaB3Bi.
HanHeM co ctpokh MeHK). Ecan bbi HaGepeTecB CMeaocTH h nepe-
TamuTe ee Ha BepTHKaaBHyio naHeaB, to oGmpyacure, hto CTpoxa Me-
Hio pa3BOpanHBaeTca BepTHKaaBHO. B GNOME 2.12.1 tot ace cjiOKyc
MoacHO npoaeaaTB h c uacaMH. IlpaBaa, Ha oaHOu h tou ace BepTH-
KaaBHOH naHeau uacBi h CTpoxa MeHio Gyayr HanpaBaeHBi CTporo b
npOTHBonoaoacHBie ctopohbi. XoneTca BepHTB, hto b caeayiomHx
BepCHHx 3 to GyaeT HcnpaBaeHO. Tax ujih HHane, mbi BuauM, hto ecTB
B03M0acH0CTB ocbo6o£htb MecTO, 3aHHMaeMoe BepxHen naHeaBio,
nepeHeca Bee ee coaepacnMoe Ha GoKOByio naHeaB.
BMecTO BepxHeu naHeau Moamo nonpoGoBaTB nepeHecTH b6ok
H uacHioio. 3aecB Hac GoaBine Bcero uHTepecyeT anaeT cnucKa okoh.
HanpaBaeHue TexcTa b 3tom anaeTe Ha BepTHKaaBHOH naHeau oc-
TaeTCH ropu30HTaaBHBiM . Ho ecau caeaaTB naHeaB mupe (Maxcu-
MaaBHO aonycTHMaa mupuHa naHeau — 120 ToneK, ana Hamux neneu
xBaTHT u 100), 3Toro 6yaeT aocTarouHO, htoGbi uaeHTU(J>uu:HpOBaTB
OKHa. B pe3yaBTare mbi noaynaeM Goa Bin ne KHomcu okoh (GoaBine,
neM mbi Morau no3Boaun> ceGe, Koraa naHeaB Gbuia BHU3y), no ko-
topbim ropa3ao npoine nonacTB. OneBuaHO, 3 to He GecnaaTHO, Bce-
Taicu mbi OTpe3aau aoBoaBHO mupoicyio BepTHKaaBHyio noaocy ot pa-
Gonero CToaa. B aaHHOM cayuae HHTepecHa uaea, a nan Bine KaacaBiu
py ci BBMG epeT iq> h tq eny y ao Sn efi,
A TenepB — KpaTKuu paccKa3 o HecKoaBKux noae3HBix anneTax
Taa.nancauJGN.Q-ME,..
CHIP LINUX 4/2005
anjieTbi ajio GNOME
49
TaiiMepbi
B KDE c ^aBHHx nop HMeemn nporpaMMa KTea, noMoraioman 3a-
BapHBaTt nan. nporpaMMa npoeran: jtokht ce6e 3Hanox b odnacra
yBeaoMneHHn (n3BecTHon b Hapoae KaK cncTeMHBin Tpen) n no xjih-
Ky MBinin HannHaeT OTMepnTb BpeMn, HeodxoHHMoe ann 3aBapn-
Bamin nan. fljin GNOME 2 noaodHbie nporpaMMbi nonBmmcb
cpaBHHTejibHO He^aBHO. Ha ceroaHnniHHH aeHb ajih 3aBapHBaHHn
nan (n Booduje jsjm 3aMepa npOMencyrxoB BpeMeHn) mo^cho boc-
nojib30BaTbcn o^hhm H3 aeyx aroieTOB — teatime n timer.
AroieT teatime, xax cneayeT H3 Ha3BaHnn, nBjineTcn npnMbiM koh-
KypeHTOM KTea. Ha naHenn oh BbirnnnHT xax narnxa mm xpyncxa, H3
KOHTeKCTHoro Memo mo>kho BbidpaTb HyncHbin copT nan, nocjie nero
TanMep dyaeT aBTOMaranecKH 3anycKaTbcn. nocneaHHH Bbi6paHHbin
nan moxcho 3aBapnTb eme pa3 kjihkom jieBoit KHonKH Mbimn no an-
jieTy. Koraa BpeMn 3aBapnBaHnn ncTeneT, Ha axpaHe nonBHTcn narnxa
c HannHCbK) «Bam nan totob». Bee npocTO n noHnTHO.
Btopoh anjieT Ha3biBaeTcn timer n Toxe nojiHOCTbio cooTBeT-
CTByeT CBoeMy Ha3BaHnio, npeTeHayn Ha HeKOTOpyio yHHBepcanb-
hoctb no cpaBHemno c teatime. OcjiopMneH oh 6ojiee CTporo h no-
Ka3biBaeT ocTaBmeecn BpeMn He b BHae rpacjmxH, a itHcjipaMH, hto
6biBaeT oneHb nojie3HO. K concaneHHio, okho c npeaynpencaemi-
eM 06 HCTeneHHH BpeMeHH OTodpaxaeTcn tojibko Ha tom pa6oneM
CTOJie, KOTOpbin 6 biji TeicymHM Ha MOMeHT OKOHnaHnn; 06 3 tom
oxornxe jierKO 3a6biTb, ecjra b oto BpeMn bbi nepeKjnonHjiHCb Ha
ApyroH pa6onHH ctoji.
B rjio6ajibHOH cem amieT teatime Monmo Hanra no aapecy
http://teatime.sourceforge.net; amieT timer pacnonaraeTcn Ha caifre
http : //timerapplet .sourceforge .net.
mini-commander
Xoth 3tot amieT bxohht b CTaHaapTHbiH Ha6op amieTOB GNOME,
n 6bi xoTen Ha HeM ocTaHOBHTbcn noapodHee, ero bo3mo3chocth
3acjiyncHBaiOT BHHMaHnn.
/tnana30H cpeacTB pn BbinojiHeHHn xoMaHa, Ha6paHHbix ot py-
kh, npocrapaeTcn ot cnapTaHCKoro auanoroBoro OKHa «3anycTHTb
nporpaMMy» ao «HaBOponeHHOH» o6ojionKH Bpoae zsh, padoTaiomeii
b TepMHHajibHOM OKHe. AmieT mini-commander HaxoaHTcn rae-TO
nocepeamie. Ha nepBbiii B3mna oh Mano neM OTjinnaeTcn ot anano-
ra «3anycTHTb nporpaMMy», xoTOpbiii BnncaH b naHejib. Ho ecjin,
HanpHMep, Hadpam b CTpoxe anneTa nT0-HH6yab Hanmiaiomeecn
c «http://», 3anycTHTcn 6pay3ep c aapecoM, xoTOpbiii bbi Hadpanm
A ecjin HadpaTb «g:», a cneaoM... yraaajrn — Bee, hto nocne aBoeTO-
hhh, 6yaeT Hcnojib30BaHO jijm nonexa b Google.
CaMoe npnnTHoe coctoht b tom, hto Taxne MamnecKHe ctpohkh
moxcho co3aaBaTb caMOCTonTejibHO. npaBaa, ana 3Toro nomao-
6nTcn 3HaHnn, kotophm b cpeaHHx rnxonax noxa He ynaT. B napa-
MeTpax anneTa ecTb OTaejibHan BKjiaaKa noa Ha3BaHHeM «MaKpoc»
(Maxpoc TaM Ha caMOM aene He oaHH — 3 to orpex nepeBoaa) co
cnncKOM BbinojiHmoLUHxcn noacTaHOBOK. Tax bot, b nepBOH xo-
jiOHxe HaxoaHTcn He npocTO CTpoxa, a peryjinpHoe BbipanceHHe.
Bnaroaapn peryjinpHbiM BbipanceHHnM noacTaHOBKH b mini- com-
mander odnaaaiOT noTpncaiomeH radxocTbio h Montbio, ho, xax h b
cnynae c jho 6 bim cojmaHbiM HHCTpyMeHTOM, TpedyiOT yMenoro od-
paiaeHHn. Ecjih bbi eiae He 3HaeTe peryjinpHbix BbipanceHHH, no-
TpaTbTe napy nacoB Ha ocBoeHne xom 6 bi a30B. Bbi HHxoraa He no-
ncaneeTe 06 3tom. OneHb pexoMeHayio nponmuTb xom 6 bi nepByio
rnaBy KHHra OpHana «PeryjinpHbie Bbipancemin».
bookmarks
3to oneHb npocTon h yaodHbiu amieT, xoTOpbiii npeaocTaBjineT ao-
ciyn k 3axnaaxaM ochobhoto 6pay3epa npnMO H3 naHejm GNOME,
n oaaepxcn BaiOTcn Galeon, Epiphany, Mozilla h Firefox. Himero oco-
deHHoro, npocTO Memo 3axnaaox. Bbi3biBaTb peaaxrop 3axnaaox no-
xa Hejib3n, nojib30BaTbcn «yMHbiMH» 3axnaaxaMH bbi Tonce He CMonce-
Te. Ho ocHOBHyio cboio (jiyHKamo 3tot amieT BbinojmneT ncnpaBHO.
B MHTepHeTe oh HaxoanTcn no aapecy: http://browserbookapp.
sourceforge.net; TaM nee mo>kho nocMOTpem Ha elite oaHH oneHb hh-
TepecHbiii amieT, xoTOpbiii, bo3mo>kho, 6yaeT BKjnoneH b GNOME
2.14, — deskbar, CTpoxa nouexa, BbmeceHHan Ha naHejib GNOME.
hardware-monitor
flpyroe Ha3BaHHe 3Toro nee anneTa — «CeHCOpbi». AnneT Sensors
b npnpoae Tome ecTb, ho He HMeeT HHnero odiitero c hardware-
monitor. nocneaHHH ropa3ao donee (jiymeaHOHanem
C ero noMontbio bbi MonceTe cneanTb 3a aaHHbiMH ceHCOpOB
(xax TeMnepaTypbi, Tax h cxopocth BeHTHnnTOpOB), 3arpy3xoii
npoiteccopa, Hcnonb30BaHHeM anexa h naMnTH, ceTeBbiMH hh-
TepcjieHcaMH. Bee oto moxcho OTodpancaTb xax b Bnae TexcTa, Tax
h rpacjmxoB, npnneM hx cranb MonceT 6bitb pa3HbiM, h Ha oaHOM
rpacjmxe Monmo noxa3biBaTb Hecxonbxo napaMeTpOB, cnHBan
itBeTa (noaaepncHBaeTcn np03panH0CTb). /JononmiTenbHbiM ao-
ctohhctbom hardware -monitor nBnneTcn to, hto, cxonbxo 6bi
anneTOB bbi hh nonoxmm Ha naHenb, odcnyncHBaTb hx dyaeT
Bcero oaHH npoitecc, a oh noTpednneT xpatoe Mano npoiteccop-
Horo BpeMeHH, xax h nonaraemn MOHHTopy. CTpaHHaa anneTa:
www.cs.aau.dk/~olau/hardware-monitor. |
4/2005 LINUX CHIP
50
coaepwaHMe
Linux CD
CD
Chip
Special
CoAepwamie
CHIB
SPECIAL
OpenOffice.org 2.
Ha cero£H5miHHH Aenb AJih Linux cynjecT-
ByeT tojibko oahh o(J)HCHbin naKeT, cno-
C06HBIH COCTaBHTB KOHKypeHLIHK) npOayKTy
Microsoft Qffice. 3thm naKCTOM HBjraeTcn
OpenOffice.org ot KOMnaHnn Sun Micro-
systems. PacnpocTpaHHeTCH oh decnjiaino
no jiHu;eH3HH LGPL. B coeraB 3Toro
nponyKTa bxoaht CAeAyiom.He nporpaMMBi:
► Writer — HHCTpyMeHT ajih co3AaHHH h
pe^aKTHpOBaHKH TeKCTOBBIX AOKyMeHTOB,
aHanor MS World;
► Calc — nporpaMMa rjiz padoTBi c ojiex-
TpOHHBiMH TadjinijaMH, aHanor MS Excel;
► Impress — yrajiHTa C03AaHHH npe-
3eHTan;HH, aHanor MS PowerPoint;
► Math — Henjioxoe cpeACTBO rjiz no-
CTpOeHHH BCeB03M03CHBIX (jmpMyji;
► Draw — npocTon HHCTpyMeHT rjiz
pHCOBaHHB npHMHTHBHOH rpacjDHKH;
► Base — nporpaMMa fljw ynpaBjieHnn
6a3aMH flaHHBix, aHanor MS Access.
OpenOffice.org nojiHOCTBio noflflepxcn-
BaeT (jDopMaTBi AOKyMeHTOB MS Office
(DOC, XLSht. a.).
B Bepcnn 2.0 no -
nBHjiacB noflflepxKa
(J>opMaTa OASIS
Open Document,
npHHHToro b xane-
CTBe CTaH^apTa ojie-
KTpOHHBIX AOKyMeH-
tob y xe bo MHornx
CTpaHax MHpa. Ha
flncKe, npnjiaraio-
meMcn k OTOMy
HOMepy xypHana,
bbi HanfleTe ah CT pn-
6yTHB OpenOffice
2.0, nOJIHOCTBK) pyCH(J)HU;HpOBaHHBIH
cneAnajincTaMH cjmpMBi «HH(j)paPecypc
npn ynacmH KOMnaHnn ALT Linux.
http://openoffice.org
WINE 0.9.1 Beta
WINE (WINE Is Not an Emulator —
«WINE He aBjiaeTCH OMyjiHTO-
pOM») — 3TO npOeKT no C03AaHHK>
ajiBTepHaTHBHon peajiH3aiiHH
Win32 API ajih Unix-cncTeM.
WINE no3BOJineT 3anycKaTB n c
KOMCjDOpTOM padoTaTB BO MHornx
Windows-npHjioxeHHHx, BKjnouan
MS Office, Adobe Photoshop,
Dreamweaver MX n IE 6. JIioGnTe-
jih nrp Toxe He ocTajinct odAejieH-
hbimh BHHMaHneM. noA WINE
moxho 3anycTHTB TaKne nonyjinp-
HBie nrpbi xax Diablo 2 n World
of Warcraft. Bxoahuihh b naiceT
Hadop yrajiHT WineTools noMO-
xeT jierKO nacTponTB nporpaMMy.
CoBceM HeAaBHO, nocjie 12 jieT pa3-
padoTKH, npoeKT nojiynnji CTaTyc
beta. HeM He noBOA bkjhouhtb
WINE b cocTaB Hamero ahcka?
http://winehq.com
CHIP LINUX 4/2005
51
coaepwaHMe
Liferea 1.0 rc3 | Downloader for X 2.5.6
Ka>K£bIH JlQHh MbI npOCMaTpHBaeM fleCHTKH
CaHTOB, HT 06 bI npOHHTaTb CBe>KHe HOBOCTH.
06 bIHHO 3 TO 3 aHHMaeT aOBOJTbHO MHOrO
BpeMeHH, h He Bcema mbi HaxoauM Henro
HHTepecHoe jsjm ce 6 a. C noHBjieHHeM ho-
BOCTHbix jieHT 3tot npou;ecc CTaa ropa 3 ao
npome h yao 6 Hee, a KaK cjieacTBHe — h
6 biCTpee. Liferea — nporpaMMa ajih uTeHHH
HOBOCTHbIX JieHT. Om COBMeCTHMa npaKTH-
necKH co BceMH cymecTByioLLiMMH Ha cero-
AHHHIHHH JlQHb CTaH^apTaMH TpaHCJIHHHH,
nojmepxcHBaeT cj) h jt mp au w io , noncK, caca-
THe JieHT h noAKacTHHr. PaayeT h to, hto
Liferea yMeeT npHTaTbca b CHCTeMHbiii Tpeii
h HanoMHHaeT o nouBjieHHH CBeacnx hobo-
CTeii c noMOLiibK) BcruibiBaiomero oxoniKa.
http: //liferea.sourceforge.net
MeHe^acepOB 3 arpy 30 K juth Linux cymecT-
ByeT He Tax mhoto, b ochobhom 3to rpacJ)H-
necKHe peajiH 3 au;HH kohcojibhbix fetch, wget
h curl. Cpejm hhx BHUMaHua, 6e3ycjiOBHO,
3acjry>KUBaeT nporpaMMa MaKCHMa Korne-
jieBa — Downloader for X. 3tot MeHe^acep
nojmepxcHBaeT ^OKauicy naHHbix, 3axaHKy
no paCnHCaHHIO, JIHMHTHpOBaHHe CKOpOCTH
h onepeAH (jiaiuiOB, a TaKace hx MHorono-
TOHHyio 3 arpy 3 Ky. IlpHcyTCTByeT noncx
no KpynHbiM pocchhckhm h MeacnyHapoa-
hbim FTP-cepBepaM. Ho Bee ace nporpaMMa
HMeeT HeaocTaTOK — HeyMenue CBOpaun-
BaTbca b CHCTeMHbiii Tpeii. HaaeeMca, b
cjTeayfoinux Bepcnax 3tot HeaoneT o6im-
TejibHO 6yaeT ycTpaHeH.
www.krasu.ru/soft/chuchelo
Beep Media Player 0.9.7
3Ty noinaroByio CTpaTerauecicyio nrpy
mojkho CMejio Ha3BaTb Konneii 3HaMeHH-
toh Colonization ot Microprose. nycTb y
Freeciv He ctojib Bbiaaioiaaaca rpacjiHKa,
3aTO KanecTBO htpoboto npoaecca Ha bbi-
coTe. BaM otbohhtch pojib npaBHTejia oa-
hoh H3 CTa u;HBHjiH3au:HH. LJejib — nojiy-
hhtb rocnoacTBO Haa MHpOM. B BaineM
noauHHeHHH 6yayr HaxoauTbca okojio
50 pa3HOBHaHOCTeil BOHCK — OT oGblHHOH
nexora ao paxeT c aaepHbiMH doerojiOBKa-
mh. HrpaTb MoacHO jih6o no Cera Ha o(J)H-
aHajibHbiM cepBepe pubserver.freeciv.org,
jih6o co3aaTb cboh codcTBeHHbiii.
www.freeciv.org
Qalculate! 0.9.
ff.Uw.f I/O JlO CWC If. jf. Of. iLf. Ilf. IOf.
r=v^
1
Tpa>KjgaHCKa5! o
3:04 II]
2
Das Ich - Engel
4:14
3
In Extremo - Erdbeer
4:06
4
In Extremo - Sefardir
4:06
5
In Extremo - Ave Mar
5:42
6
In Extremo - Mein Kir
6:35
7
In Extremo - Sagrad^
3:43
8
In Extremo - Kuss Mi
4:10
9
In Extremo - Davert-7
3:12
10
In Extremo - Melanch
4:25
15:04
Bee 3HaiOT My3biKajibHbiii npOHrpbiBaTejib
XMMS. OTjiHHHaa nporpaMMa, ho ecTb b
Hen h HeaocTaTKn: HeyaodHbie HacTpoiiKH,
npodjieMbi c pycH(J>HKau;HeH, k TOMy ace hh-
Tep(J)eHC HanncaH Ha GTK nepBoii BepCHH.
CoodmecTBO Open Source OTBemno Ha
3to noaBjieHHeM nporpaMMbi Beep Media
Player. BMP — oto tot ace XMMS, ho Ha-
nHcaHHbiii c Hym h yace c Hcnojn>30BaHHeM
GTK 2 , hto pemiuio MHorne npodjieMbi —
b uacraocra, c pycHcjiHKaiiHeH. Bojiee yao6-
hbimh CTajin h HacTpoiiKH. Beep Media
Player nojiHOCTbio cobmccthm co CKHHaMH
h iuiamHaMH juw XMMS, a Taicace co CKH-
HaMH h HacTpoiiKaMH 3KBajiaii3epa iuieepa
Winamp. nporpaMMa BOcnpoH3BoaHT Bee
nonyjiHpHbie Ha ceroaHHmHHH aenb (J>op-
MaTbi (MP3, WAV, OGG) — ecrecTBeHHO,
npH HaJIHUHH COOTBeTCTByKDLLIHX IUiaTH-
HOB — H HMeeT 3KBaJiail3ep C B03MOaCHO-
CTbK) KaK pyHHOH, TaK H aBTOMaTHHeCKOH
nOaCTpOHKH 3BynaHHH.
www.sosdg.org/~Iarne/vv/BM PHomepage
nporpaMMa, HeodxoAHMan jnodoMy CTy-
AeHiy, yBaacaiomeMy ce6a h CBoe BpeMH.
Qalculate! — 3to MOLHHbiii KajibKyjurrop,
KOTOpbiii no^aepacHBaeT GNOME h KDE,
HMeeT doraTbiii Hadop pa 3 JiHUHbix cJiyHK-
h;hh H 3 ajiredpbi, TpHTOHOMeTpHH, jiothkh,
CTaTHCTHKH, TeopHH hhccji. no^aepacHBa-
iotch onepaHHH c BeKTOpaMH, jiorapH(J>-
MHpOBaHHe. PaCCUHTblBaiOTCH CKOpOCTb,
ruiomanb, OHepran h t. a. KajibKyjiHTOp
BeaeT HCTOpHIO BblHHCJieHHH, CTpOHT rpa-
cJihkh (JiyHKHHii; k BaiHHM ycjiyraM naace
nepHOAHnecKaa Tadjinija xHMHnecKHx 3Jie-
MeHTOB MenaejieeBa. KpoMe toto, b cocTaB
Qalculate! bxoaht KOHBepTep BajnoT c bo3-
MOaCHOCTbK) 06
HOBjieHHH Kypca
no HHTepHeiy,
a Taicace KOHBep-
Tep BeJIHHHH
(pa3MepHOCTeii).
http://qalculate.
sourceforge.net
4/2005 LINUX CHIP
52
CD i coAepiKaHHe Chip
ZoneMinder 1.21.4
IlaKeT nporpaMM jijm C03AaHHn chctcmli
b h Aeo h a6 jt fo ac huh Ha 6a3e onepaiiHOHHOH
CHCTeMBi Linux. IlporpaMMa peampyeT Ha
ABnaceHHe, Tyr xce 3aHOCH codbrme b OTueT
(oTCBLJiaeT Ha FTP hjih OTnpaBjraeT e-mail).
ZoneMinder padcrraeT npu noMOiuH Hnrep-
(J)eiica Video4Linux h no,zmep3CHBaeT Bed-
KaMepBi c HHTep4>eHCOM USB, ceTeBbie IP-
KaMepBi, a TaiQKe KaMepbi, noAKJiioueHHbie
Hepea BTTV-KapTbi. IlporpaMMa odjianaeT
npocTbiM HTML-HHTep(J)eHCOM, djiaroAapH
KOTOpOMy MOvKHO OCyUXeCTBJTHTb MOHHTO
pHHr c OKpaHa odbimioro CMapTcbom hjih
KIIK. padoTbi ZoneMinder TpedyeTcn
MySQL h PHP, a Taioxe Be6-cepBep, m-
npHMep Apache. Cnocodbi npuMeHeHua
aaHHOH npOipaMMbl 3aBHCHT TOJIbKO OT
Bamero BoodpajKeHHH. Hadji K)AaiiTe 3a
pOflCTBeHHHKaMH H coce^HMH, 3a AaneH H
ocjmcoM, ho He 3a6biBaiiTe 06 yBaaceHHH
k npaBy Apyrnx Ha jimmyio jkh3hb.
www.zoneminder.com
Special Linux CD
Beagle 0.1.1
Il0JIb30BaTbC5I KOHCOJIbHbIMH KOMaHAaMH
locate h find He Bcer^a yAodHO. Ho Tenepb
pemeHHe ecTb! Tioji KpbuiOM GNOME
Foundation Bbipoc npoeKT Beagle — npo-
rpaMMa noHCKa no jiOKajibHOH (^aiijiOBOH
CHCTeMe. Beagle HHAeKCHpyeT KapTHHKH,
My3biKy, Be6-CTpaHHHbi, HCTOpmo noceine-
hhh 6pay3epOB, noHTy, tckctbi, M3odpa>Ke-
hhb, PDF, DOC, ayAHOcbafijibi, jiom Mec-
cenaxcepOB h apyroe. Hohckobhk odpada-
TbiBaeT 6a3y h bbiboaht pe3yjibraTbi noHCKa
b Buae cnncKa co BceMH noApodHOCTHMH o
HauaeHHbix AOKyMenrax. Mojkho ycTaHO-
bhtb aonojiHHTejibHbiii iuiarHH jura Firefox.
http://beagle-project.org
0 AMCKe
YdaHOBKa
nporpaMMbi Ha AMCKe npeACTaeneHbi b
AB yx BapwaHTax — McxoAHbie koabi f\nn
nocneAyK)utero caMOCTonienbHoro mx
KOM nnnnpoBaHnn m RPM-naKeTbi f\j\a
AM CTpn 6 yTMBa Fedora Core 4 Linux.
RPM-naKeTbi
Mbi BbinnaAbiBaeM naneTbi mmchho f\na
Fedora Core, Tan nan ohm nBnniOTcn 6onee
yHM(j)MIJLMpOBaHHblMM M nOAXOAflT A^fl
Bcex AMCTpM6yTMB0B, 6a3MpyiOLAMXCfl Ha
RPM. YcTaHOBMTb naneT OMeHb npocro,
AOCTaTOMHO b kohcojim c npaeaMM cynep-
nonb30Baienn (root) Ha6paTb:
rpm -ivh <uiwi_naKema>
IICXOAHbie KOAbl
npeAHa3HaneHbi ohm j\s\r\ Tex, kto no;ib3y-
eicn T3KMMM AMCTpn6yTMBaMM nan Gentoo
m Slackware. MHCTannnuMn M3 mcxoahmkob
nporpaMM
HeMHorMM cno>KHee 3arpy3KM RPM-
naKeTOB, ho OHa no3BO/iMT bbm no/mo-
CTbK) KOHTpOJIMpOBaTb npOUeCC yCTaHOB-
km nporpaMMbi.
Ha6MpaeM b kohco/im:
# tar -jxvf <UMn_apxuea.tar.bz2> # d/in
bz2 apxuea ujiu
# tar -zxvf <UMn apxuea.tar.gz> # dm i gz
apxuea
# cd <nanKa_c_npozpaMMOu>
# ./configure && make
3aTeM, nonyMMB npaea cynepno.nb30BaTe-
nn (root), 3aBepuiaeM yciaHOBKy KOMaH-
AOM make install.
B nanne /lib AMCKa Bbi navi/xeie 6m 6-
/iMOTeKM, Heo6xoAMMbie A^n pa6oTbi
Bcex npeACTaeneHHbix nporpaMM —
ohm peKOMeHAOBaHbi k ydaHOBKe
m npMcyTCTByiOT b BMAe RPM-naneTOB
M MCXOAHbIX KOAOB.
distcc 2.18.3
Distcc — 3to nporpaMMa, opraHH3yioman
napajuiejibHyio pacnpeAejieHHyio KOMnn-
JHHIHK) MCXOAHbIX KOAOB H3BIKOB C, C+ + ,
Objective C h Objective C++ Meacay kom-
nbiOTepaMH cera.
Mcnojib30BaHHe distcc 3HauHTejibHO co-
KpamaeT BpeMH komhhji5hj;hh. YcTaHOBKa
jk e nporpaMMbi no-AeTCKH npocTa; distcc
He TpedyeT hh KaKHx-jmdo npeAycTaHOB-
JieHHblX 6n6jIHOTeK, HH CHHXpOHH3au;HH
CHCTeMHbix uacoB h Aaace He 3aBHCHT ot
mna ycTaHOBjieHHOH onepaiiHOHHOH ch-
CTeMbi (noAAepJKHBaiOTCii: GNU/Linux,
FreeBSD, NetBSD, Darwin, Solaris, HP-
UX, IRIX, Cygwin h BSD/OS) h moacjih
npoiieccopa. B KOMnjieKTe c distcc no-
CTaBjineTcn Hedojibinan nporpaMMa distc-
cmon, no3BOJi5iioma5i HadjiiOAaTb 3a npo-
ijeccoM KOMnHjumHH Bamero KOAa Ha
Bcex noAKjiioueHHbix KOMnbiOTepax.
Distccmon padoTaeT kuk b rpa(jmnecKOM
pexcHMe, Tax h b tckctobom. nporpaMMa
ocodeHHO ya;o6Ha npn padoTe b ahctph-
dyTHBax, Tpedyiomux nacTOH KOMnium-
h;hh HCxo^Hbix koaob (Gentoo,
Slackware, Linux From Scratch),
http : //distcc . samba . org
CmicoK nporpaMM
Desktop
Beagle 0.1.1, Dia 0.95, Ion 3-20051029,
0pen0ffice.org 2.0, WindowMaker 0.92.0
My/ibTMMeAMa
Beep Media Player 0.9.7, GQRadio 1.9.2,
Graveman 0.3.12-4, Streamtuner 0.99.99,
ZoneMinder 1.21.4
JiHTepHeT
DownLoaderforX 2.5.6, Firestarter 1.0.3,
Licq 1.3.2, Liferea 1.0 rc3. Links 2.1 prel8,
X-Chat 2.6.0
Pa3pa6oTKa
Advanced Bash-Scripting HOWTO, distcc 2.18.3,
NVU 1.0, RPM Builder plugin for Anjuta 0.1.3
CMcreMa
ATI Proprietary Linux Driver 8.18.8, Linux
Kernel 2.6.14, Nmap 3.93, NVIDIA nForce
Driver 1.0-0306, NVIDIA Display Driver 1.0-
7676, To rsmo 0.18, WINE 0.9.1 beta
Mrpbi
BilliardGL 1.75, Freeciv 2.0.7, Gens 2.12,
SuperTux 0.1.3, ZSNES 1.42
EoHyc
Aewan 1.0.01, Qalculate! 0.9.0
CHIP LINUX 4/2005
desktop AMCTpM6yTMBbi
oho
VectorLinux 5.1
53
p
Cepreft JlpeivmyK
BeKTOp CKOpOCTM
no 6 bicTpoflePicTBmo c stom paKeioPi mojkho cpaBHmb pa 3 Be hto Gentoo
stage 3 . Ha ee c()OHe 6 ojibwuHCTBO AMCTpu 6 yTUBOB, opueHTupoBaHHbix
Ha KOHeHHoro no/ib 30 BaTe.nfl, Bbimflflm Mefl/ieHHO no/i 3 yiAUMU
nepenaxaMM. Miax, 3 HaKOMbTecb — VectorLinux!
B nocjie^Hee Bpewa HaMemracb ycTOHHHBaa tqhjxqhixvm — noaBjia-
IOTCH BepCHH aHCTpndyTHBOB, HanpaBJieHHBie Ha KOHKpeTHyiO Iie-
jieByio ayanropmo. MHoroancxoBbie nporpaMMHbie npoayxTbi b
H eKOTOpbix cjiynaax oxa 3 biBaiOTca jihhihhmh. HanpHMep, ecjin
nojib30BaTejib npocTO xejiaeT no3HaxoMHTbca c hoboh chctcmoh,
AOCTaTOHHO h LiveCD. AHanoraHHO, ecjin HeodxoHUMa CHCTeMa jsjm
Hcnojib30BaHHH Ha 4)jiem-ApaHBe, to, cxopee Bcero, oh npeanoHTeT
cneu;HajiH3HpOBaHHbiH ancTpudyraB, Hexcejin dyner nbiTaTbca BMec-
thtb b Hero Mandriva. C apyron CTOpOHbi, Ha cepBepe cobccm He
Hy*Hbi rpac^HHecxne odojionxn h pa3JiHHHbie nponipbiBaTejiH Myjib-
THMeana. K TOMy >Ke oaenb xecTxne TpedoBaHna k 3aianre cepBepOB
Ha aoManiHeM KOMnbioTepe dyayr cxopee MernaTb, Tax xax nojib30Ba-
Tejno b nepByio onepeab BaacHbi yaodcTBO h npocTOTa. IlooTOMy no-
HBjieHHe HanpaBjieHHbix Ha xoHeHHoro nojib30BaTejia ancTpudyra-
bob — BnojiHe 3axoHOMepHoe pa3BHTHe codbrran.
IIonyjiHpHbie n p o n 3 boh htc ji h HacTOJibHbix Bepcnn Linux —
SUSE, Mandriva, Fedora — nbiTaiOTca pa3MecTHTb Bee npnjio-
xceHHH Ha Tpex-nnTH ancxax, h nojib30BaTejiio npH ycTaHOBxe
npHxoaHTcn aojiro BbidnpaTb H3 aJinmioro cnncxa to, hto eMy
aeHCTBHTejibHO HyacHO. Co3aaTejiH xaHaacxoro ancTpndyTHBa
VectorLinux (www.vectorlinux.com) xotcjih caejiaTb ero npo-
CTblM, HedOJIbUIHM H n03B0JIHTb XOHeHHOMy nOJIb30BaTeJHO pe-
maTb caMOMy, hto 6yaeT BxoaHTb b ero onepaanoHHyio CHCTeMy.
no HX MHeHHK), yCTaHOBXa aOJIXHa 6bITb MaXCHMaJIbHO npOCTOit,
nOOTOMy OHH peniHJIH OTpaHHHHTbCH OaHHM - eaHHCTBeHHbIM
ancxoM, Ha xotopom noMecTHjiacb nojiHoaeHHan padonaa cpeaa
co BceMH HeodxoaHMbiMH dndjiHOTexaMH h npnjioaceHHHMH.
VectorLinux ocHOBaH Ha nonynapHOM ancTpndyTHBe
Slackware, xoTOpbiii Bceraa oranHajica ycTonanBOCTbio b padoTe,
ho nojib30BaTejm, ocodeHHO HaanHaioiane, He oneHb ero jnodaT
H3-3a cjioxchocth. A b VectorLinux apyxejiiodHOCTb xax pa3 h
CTajia ochobhoh 3aaaneH pa3padoTHHxoB. KcTara, nncTpudyraB
cnocodeH HopMajibHO padoTaTb Ha xoMnbioTepe c odbeMOM one-
paTHBHOH naMHTH Bcero 32 MdaiiT. Oh noaneH x CTapOMy odopy-
aoBaHHio, noaaepxxa xoTOporo no yMOJinaHHio yxce He Bxjnoaa-
eTca b HexoTOpbie coBpeMeHHbie nncTpudyraBbi, h otjihhho ceda
nyBCTByeT Ha caMOM coBpeMeHHOM nK. Bo BTOpon nojiOBHHe
jieTa 2005 roaa dbui aHOHCHpOBaH pejiH3 5. 1 ototo ancTpudyraBa.
O HeM mm h paccxaxceM BaM dojiee noapodHO.
Ccmcmctbo VectorLinux
B HacTomaee BpeMa VectorLinux aocTyneH b Hecxojibxnx BapnaH-
Tax, xaxcabm H3 xoTOpbix npeaHa3HaneH ana cneun^nHecxnx n;e-
jieii. Ba30BbiM aBjiaeTca VectorLinux Download (hjih Standart)
Edition. Ero pa3Mep cocTaBjiaeT Bcero 350 Mdaifr, npH stom oh co-
aepacHT MHHHMajibHO HeodxoaHMyio cpeay, BXJHOHaa jierxne oxoh-
Hbie MeHea^cepbi, MyjibTHMeana, noHTOBbie npnaoxceHna h nponne
HeodxoaHMbie nporpaMMbi. DiaBHbin aeBH3 — cxopocTb h jier-
xoctb! Deluxe Edition BXJnoaaeT Taioxe ancx odbeMOM 350 Mdanr
c aonojiHHTejibHbiM cocJitom (b tom HHCJie KDE, GNOME,
OpenOffice) h dpoimopy, b xoTOpoit coaepacuTca HHC^opMaana
od ycTaHOBxe. 3Ta Bepcna npeaHa3HaneHa dojibine ana onbiTHbix
nojib30BaTejieH. CaMbin nonyjiapHbin BapnaHT — VectorLinux
SOHO (Small Office/Home Office), — xax BHaHO H3 Ha3BaHH a, co-
3aaH rjw Hcn0Jib30BaHHa b HacTOJibHbix xoMnbiOTepax. H noaTOMy
oh BXjuonaeT Bee HeodxoaHMbie npnjioxceHna — KDE, OpenOffice,
Java, GIMP, Xsane, CUPS, cjniHaHCOBbie ymjiHTbi h nponee. DiaB-
Haa 3aaana Bepcnn SOHO — C03aaTb yaodHyio padonyio cpeay c
xopomen nHTerpaanen npnjioxceHHH, padoTaioiayio dbiCTpo, npo-
CTyio b ycTaHOBxe n He 3aHHMaioiayK) mhoto MecTa. nocjieaHee
peajiH3yeTca 3a cneT TiaaTejibHoro OTdopa yrajinr, b xoTOpbix Han-
dojibmaa (JiyHxaHOHajibHOCTb coneTaeTca c yaodcTBOM n yMeHb-
meHneM xojinnecTBa aydnnpyioianx npnjioxeHnn.
njnoc xo BceMy ecTb asa Heo^nanajibHbix ancTpndyTHBa. He-
CTadnjibHon BeTxon Dynamite Edition nojib3yiOTca b ochobhom
pa3padoTHHxn — 3aecb OTpadaraBaiOTca HOBOBBeaeHna, xoTOpbie,
B03M0XCH0, noaBaTca b cjieayioianx pejiH3ax VectorLinux. H BnojiHe
BepoaTHO, oh aBjiaeTca caMbiM apyxejHodHbiM H3 Bcex Slackware -
ancTpndyTHBOB Ha ceroaHamHnn aeHb.
Eiae cyiaecTByeT VectorLinux GX, npeaHa3HaHeHHbin ana mxoji
n nosTOMy coaepacaiann cneaH(J)HHecxne npnjioaceHna rjw odyne-
HHH, XOTOpbie odbIHHO He BXJIIOHaiOTCa B COCTaB ancTpndyTHBOB.
4/2005 LINUX CHIP
54
desktop I AHCTpHOyTHBbl
UECTOR LINUX INSTALL
Allright, let's do it. Ue are about to install Uector Linux then
configure it. The list below shows the installation steps. The
configuration will be performed after euerything is installed.
Ue will begin as soon as you hit <0K>:
SUAP
ROOT
HOME
BULK
PACKAGE
INSTALL
CONFIGURE
heck the integrity of installation files
select swap part it ion Cs)
select root partition
select home partition
choose the integrated packages to install
choose optional packages to install
install Uector Linux into the harddisk
continue with the configuration
dpouecc ycTaHOBKM kohcojih He MeHee yflodeH, neM rpatJuiHe-
CKMM MHTeptfieMC flpyrMX AHCTpMdyTHBOB
VASM
_ □ X
Welcome to Vector Linux's Administration & System Menu.
Use the cursor [up] [down] keys to navigate the menu.
Press the [enter] key to make a selection.
AUTO SETUP
autosetup hardware, network and GUI
USER
manage the users on the system
XWINDOW
setup X-Window GUI system
SERVICE
setup services and boot procedures
NETWORK
setup hostname and networking
HARDWARE
setup keyboard, mouse, edrom, sound, etc.
FILESYSTEM
setup mount points, LILO and harddisk
EXIT
Bye, see ya later
j —
OK
X Cancel
VASM - MomHoe cpeACTBO hbctpomkh CMCTeMbi c rpac|)MHecKMM
M TBKCTOBbIM MHTGpCpGMCOM
He Tax aaBHO npoeKT od3aBejicn 6ojiee-MeHee iiohhthoh aoicy-
MeHTaitHeH (aocTynHOH b tom uHCJie h Ha ancKe, npaBaa, Ha aHr-
JIHHCKOM H3BIKe), n03B0JI5H0meH pa306paTBCH C 0C06eHH0CT5IMH
pa6oTBi. EAHHCTBeHHbiH HeaocTaTOK VectorLinux, kotopbih b Ha-
HIHX yCJIOBHHX nBJineTCn KpHTHUHbIM, — nOJIHOe OTCyTCTBHe JIOKa-
jiH3au;HH: b CHCTeMe aocTyneH tojibko aHniHHCKHH HHTepcjDeHC.
PycH(J)HKau;HeH npnaeTcn 3aHHMaTbcn caMOCTonTejibHO, ycTa-
HaBjiHBan Heo6xoAHMBie naxeTti Slackware.
M HCT3/I Jlfl 14I1A
YcTaHaBjiHBaTB VectorLinux moxcho HecKOJiBKHMH cnoco6aMH, b
tom HHCJie h HcnojiB3yn CKanaHHBiH ISO-o6pa3, 6e3 3anHCH ero
Ha ahck. HauHHaiomHe nojn>30BaTejiH He oneHb jnodnr Slackware
H3-3a OTCyTCTBHB TpacjlHUeCKOH npOrpaMMbl-HHCTaJIJMTOpa.
B VectorLinux npouecc ycTaHOBKH Taioxe npoxoauT b kohcojih, ho
C03flaTejiH npoaejiajiH xopomyio pa6oTy h ynpocTHjiH to, hto ynpo-
CTHTB, Ka3aJIOCB, y xe HCB03M0JKH0. EAHHCTBeHHBIH MOMeHT, KOTO-
pBiH MOxceT HanyraTB HeonbiTHoro nojib30BaTejin, — noaroTOBKa
pa3aejiOB jijm ycTaHOBKH, ho, HeMHoro nounraB aoKyMeHTaiiHio ,
MOvKHO CnpaBHTbCH H C 3THM. fljIH C03aaHHH pa3aeJIOB HCnOJIB3yiOT-
cn GNUParted (b nyHKTe MeHio «Resize») h cfdisk, ho Tenepb b xo-
ae ycTaHOBKH n03B0JieH0 BbldpaTb aBe TOHKH MOHTHpOBaHHH (KOp-
HeBOH KaTajior h /home), KOTOpbie mojkho OTcjiopMaTHpOBaTb noa
reiserfs, ext2 hjih ext3. Bee BxonnmHe b cocTaB a n crp u 6yTH Ba npn-
jioxeHHn nocjie ycTaHOBKH 3aHHMaiOT 950 Mdaifr. KcTaTu, b 6ojiee
paHHHx Bepcnnx ycTaHOBKa 3aKjnonajiacb b pacnaKOBKe apxHBa Ha
pa3aeji ancKa, h eaHHCTBeHHoe aeiicTBHe, KOTopoe HeodxoanMo
dbuio coBepmHTb nojib30BaTejno, — 3to C03aaTb ero npn noMonjH
cfdisk, 0T(J)0pMaTHp0BaTb noa HeodxoaHMyio cjiaHJioByio CHCTeMy
h yKa3aTb Ha Hero nporpaMMe. Ecjih hto-to He BbixoaHT, to, bbi-
6paB COOTBeTCTByiOiaHH nyHKT MeHK), MOvKHO BbIHTH b odojiouKy
(npHneM 3to 6yaeT nojiHOLteHHan odojiouKa c me h npounMH
yaodcTBaMH), rae 6yayr aocTynHbi fdisk h apyrne ymTHTbi cjiopMa-
THpOBaHHH h npOBepKH yKa3aHHbix Bbime cjiaHJiOBbix CHCTeM. H 3
MeHK) MOJKHO JieTKO BOCCTaHOBHTb H 3aTpy3UHK, RJW UCTO aOCTa-
TOUHO npOCTO BbldpaTb HyXCHblH nyHKT.
nocjie KonHpOBaHHn (JianjiOB ycTaHOBKa, codcTBCHHO, 3 aKaH-
HHBaeTcn, h CHCTeMa npeaJiaraeT H 3 Bjienb a^CK h nepe 3 arpy 3 HTb-
cn. Becb npoaecc Ha KOMnbiOTepe c npoaeccopOM 1,1 Tu; 3 aHHMa-
eT b odmeii cjioxchocth 25 MHHyr.
riepBan 3arpy3Ka
CncTeMa rpy3HTcn aocTaTOUHO 6biCTpo no cpaBHeHHio c Mandriva
hjih SUSE. He 3pn VectorLinux Ha3biBaiOT Slackware Ha paxeTHOM
TonjiHBe, oh no npaBy cuHTaeTcn caMbiM 6biCTpbiM aHCTpHdyra-
bom. Tenepb HacTynaeT 3Tan nocTHHCTajuiniiHOHHOH HacTpOHKH,
b npoaecce kotopoh HeodxoanMo yKa3aTb, Kyaa ycTaHaBjiHBaTb
3arpy3HHK, a Taioxe HacTpOHTb X.Org-6.8.2, BpeMeHHOH none,
ceTb, 3ByK, 3aaaTb napojib root h co3aaTb aonojiHHTejibHbix nojib -
30BaTejien. npn Bbidope rpacjmnecKoro pencHMa cpa3y xe 3arpy-
ncaeTcn X Window. Mojkho Bee HacTpOHTb cpa3y, ho jiynine 3to
caejiaTb no3aHee — 3arpy3HBmHCb h BOcnojn>30BaBinHCb yrajiH-
toh VASM (Vector Linux System Menu).
OdopyaoBaHHe onpeaejinjiocb HOpMajibHO. 3 to b npHHitHne
MOJKHO CHHTaTb BH3HTHOH KapTOUKOH aHCTpHdyTHBa, KOppeKTHO
padoTaiomero b tom nncjie h Ha CTapbix MamHHax. ABTOpy nocTO-
hhho He Be3Jio b VectorLinux c Mbimbio. B Bepcnn 3.2, KOTOpan
CTonjia Ha HoyrdyKe nonm roa, BHemHnn USB-Mbimb ncnpaBHO
onpeaejiHjiacb, a Taunaa npHmjiocb HacTpaHBaTb, BpyuHyio H3Me-
Hnn napaMeTp «Protocol» b KOH(J)HrypaaHOHHOM (Jiaitjie «hkcob» c
IMPS/ 2 Ha PS/2. B Bepcnn 5.0 nocjie 3arpy3KH He padoTajin ynce
06a ycTponcTBa no3Hu;HOHHpOBaHHn Kypcopa. B 3tot pa3 Bee 060-
mjiocb 6e3 npodjieM. He coBeTyeM cennac BbidnpaTb pyccxyio pac-
KjiaaKy KjiaBnaTypbi ajm X Window, HHane nocjie nepe3arpy3KH,
KOTOpan nocjieayeT no oKOHnaHHH HacTpOHKH, bbi He nonaae-
Te b CHCTeMy, noTOMy hto He CMOxeTe H3MeHHTb pacKjiaaKy.
Bee 3 to jiyurne dyaeT caejiaTb noTOM, BpyuHyio noanpaBHB 4>aHji
/etc/Xll/xorg.conf. HoBbie USB-ycTponcTBa MonrapyiOTCH bbto-
MaTHnecKH, no KpanHeii Mepe an^poBan KaMepa, (juiem-HaKonn-
Tejib h Bluetooth-aoHrji 6 bijih pacno3HaHbi 6e3 npodjieM. /(jin
BjiaaejibaeB HoyrdyKOB HejiHmHen OKanceTcn noaaepJKKa PCM-
CIA h APM b nape 2.6.12, dyayr padoTaTb Taioxe SATA h SCSI.
| Pa6oTa b VectorLinux |
nocjie nepe3arpy3KH nojib30BaTejin BCTpeTHT hcckojibko
BHaoH3MeHeHHbiii xdm c iummyiaHMH nHHTBHHaMH . /(jin padora
aocTynHbi Xfce, Lluxbox h IceWM. B Bepcnn Deluxe bbi HanaeTe
KDE 3.4.1 h Lreerock GNOME 2.10.2. HHTepecHO, hto IceWM
MOvKHO 3arpy3HTb, Tax CKa3aTb, b hhctom BHae, a mojkho h c bkjho-
neHHbiM ROX-Liler (http://rox.sourceforge.net), kotopbih cyme-
CTBeHHO paenmpHT B03M0JKH0CTH IceWM, aodaBjinn, HanpHMep,
CHIP LINUX 4/2005
o 6 3 o p VectorLinux 5.1
55
HKOHKH Ha pa 60 HHH CTOJI. ObblHHO y n 0 JIK 30 BaTeJieH B 03 HHKaeT
npo 6 jieMa npH MOHTHpOBaHHH/ pa 3 MOHTHpOBaHHH CMeHHBIX HO-
CHTejien. B VectorLinux pa 6 oTa c TaKHMH ycTponcTBaMH peajiH 30 -
BaHa Ha aojhkhom ypOBHe, a npn noMomn KOHTeKCTHoro MeHio,
BBi 3 BiBaeMoro npaBoii khohkoh mbiihh, mojkho Bcer^a otmohth-
pOBaTB ycTponcTBO ^aace b tom cjiyuae, Kor^a oho 3 aHHTO. Ycnein-
ho nojiynaeTcn npo^ejiaTb oto h c CD-ROM.
KpOMe CTaHaapTHbix ymjiHT jijih HacTpOHKH HMeeTcn h cboh
KOHex — VASM, kotopbih noHBHjicn b VectorLinux enje b BepCHH
2.0 H nOCTOHHHO MOAepHH 3 HpOBaJICH C yueTOM npeAJIOXeHHH
nojiB30BaTejieH. A HaunHan c Bepcnn 3.2 SOHO, VASM nojiyumi
rpa(J)HHecKHH HHTep^eiic (paHee oh 6 biji ^ocTyneH tojibko H3 koh-
cojih), no33ce HeKOTOpbie nyHKTbi CTajiH ^ocTynHbi b BH^e OT^ejib-
hbix KOMaH^. npH BBi30Be npOBepneTCii 3HaneHHe nepeMeHHOH
$DISPLAY, H B 3aBHCHMOCTH O TOTO, B KaKOM pe^CHMe (kohcojib
hjih X Window) ero 3anycKaiOT, Hcnojn>3yeTcn cooTBeTCTByioLixHH
HHTepcf)eHC. VASM no3BOjnieT otkjhohhtb, onpenejiHTb h aBTOMa-
THnecKH HacTpoHTb HOBoe obopyaoBaHHe, 6epeT Ha cebn MeHeax-
MeHT nojib30BaTejieH (aobaBjieHne, yaajiemie, H3MeHeHHe naponn,
dbiCTpbie KOMaH^bi /sbin/vuser, /sbin/vuseradd, /sbin/vuserdel h
/sbin/vpasswd), KOHcJmrypaHHK) X Window, ypOBeHb 3anycKa chc-
TeMbi, 3anaeT cepBHCbi, 3anycKaeMbie npn 3arpy3Ke, HacTpaHBaeT
ceTb, npHHTepbi, Me>KceTeBOH OKpaH, ycTaHaBjiHBaeT 3arpy3HHK, npo-
h 3 boaht pe3epBHoe KonHpoBaHHe (^aiuiOB h t. a. HexoTopbie cjiyHK-
h;hh HacTpoiiKH, npeaocTaBjrae m bi e CKpHnTOM, aocTynHbi TOJibKO
nojib30BaTejiK) root, a nacTb napaMeTpoB (HaerpoHKa X-cepBepa, ob-
HapyxeHHe hoboto obopyaoBaHini) paboTaeT tojibko b kohcojih.
KaK BHjiHTe, pa3pa6omHKH cobpajiH b ojihoh npocTOH yrajiHTe Bee
B03M0vKHbie HaCTpOHKH, C KOTOpbIMH ObbIHHO npHXOAHTCB HMeTb
aejio nojib30BaTejno. Xoth paboTa c hhm He Bceraa HmyHTHBHa h
HHoraa npnxoaHTCH OKcnepHMeHTHpOBaTb, Bee ace VASM Heiuioxo
cnpaBjineTcn c 3aaaueH 6a30B0H HacTpOHKH CHCTeMbi.
EcTecTBeHHO, HHKy^a He aejincb fdisk, pppsetup, wvdial, gkdi-
al, GuardDog (HacTpomca MeacceTeBoro OKpaHa) h npoune yra-
jihtbi, npeAHa 3 HaneHHbie arm hbctpomkh OTaejibHbix napaMeT-
pOB H CepBHCOB CHCTeMbi.
YCTaHOBKy npHJIOaceHHH MOJKHO npOH 3 BOaHTb H npH nOMOmH
TpaAHijHOHHbix ynuiHT ot Slackware Bpoae installpkg h upgradepkg.
M3fliuHbiM flecKTon VectorLinux noc/ie 3arpy3KM
Ho Tenepb, no 3aayMKe pa3paboTUHKOB, 3aaaua no ynpaBjieHHio
naxeTaMH B03JioaceHa Ha yTHjiHTy Gslapt, KOTOpan 6a3HpyeTcn Ha
slapt-get. PaHee Gslapt Bbi3biBajia HeKOTOpbie coMHemra, Tax KaK
He oueHb apy*rijia c 3aBHCHMOCTHMH h, He npH3HaBan sudo, 3a-
nycKajiacb, tojibko Koraa nojib30BaTejib perHCTpHpOBajicn b chc-
TeMe xax root. C VLAPT, kotopbih 6biji b Bepcnn aHCTpubyraBa
5.0, Tarax npobjieM He cjiyuajiocb. TaioKe b MeHio (JianjiOBoro Me-
Heaacepa Midnight Commander HMeiOTcn aonojiHHTejibHbie
nyHKTbi, no3BOJHHomHe ycTaHOBHTb, pacnaxoBaTb h aencTajunipo-
BaTb naxeTbi. npnneM paboTa c RPM-, DEB- h TGZ-naKeTaMH
peajiH30BaHa Tax, uTobbi nojib30BaTejib Boobiae He 3aayMbiBajicii
o KaKoii-jinbo pa3HHije Meacay hhmh.
nocTaBjineMbie no yMOJiuaHHio b ancTpHbymBe ynuiHTbi aehcT-
BHTejibHO oxBaTbiBaiOT Been cneKTp noTpebHOCTen cpea h ecTaTHCTH -
necKoro nojib30BaTejiH. Bpay3epOM no yMOJiuaHHio nBjineTcn Firefox
1.0. 4, ho b HajinuHH ecTb h Dillo, KaK ajibTepHaTHBy MoacHO ncnojib-
30BaTb Konqueror. C Firefox Bce-TaKH bo3hhkjih npobjieMbi, TaK
KaK He Bee roiaraHbi ycTaHaBjiHBajincb, h ero npmiijiocb cpa3y ace
obHOBjiHTb. fljm pabora (ecjiH, KOHenHO, MoacHO Ha3BaTb 3to pabo-
toh) b IRC b cocTaB BKjnoneHbi Gaim 1.3.0 h Xchat. floicyMeHTbi
Word OTKpbiBaiOTCii b Abiword 2.2.5, My3biKa h (^hjibmbi — b XMMS
1.2.10, MPlayer 1.0pre6a. Hy h, KOHeuHO xe, He obonuiocb be3
GIMP 2.2.1, Xview h Gqview. A OpenOfflce, a Taxace Flash, Acrobat
Reader, vim, Apache, MySQL, Emacs, Samba, Screen h MHorae
Apyrne nojie3Hbie npiuioxeHHH npHcyrcTByiOT b Bepcnn Deluxe.
Cepbe3Hoe BHHMaHHe yAejmeTcn 3amHTe. B cocTaB AHCTpHbymBa
bxo^ht cncTeMa obHapyaceHHH aTaK portsentry, openssl h openssh.
He HMeeT CMbicjia nepenncjuiTb Bee naKeTbi — 3aMeTHM tojibko,
hto b VectorLinux HeT aecHTKa TexcTOBbix pe^axTOpOB, nponrpbiBa-
Tejieii h nouTOBbix KjmeHTOB. nojib30BaTejiio npeaocTaBjieH Heob-
XOAHMBIH, HO yaobHBIH B pabOTe MHHHMyM.
nopa no^BecTH htoth. ^HCTpHbymB co 3 #aH c jnoboBbio. He-
coMHeHHO, VectorLinux npH^eTcn no BKycy nojib 30 BaTejno CHe-
KOTOpblM ypOBHeM nOATOTOBKH H, B 03 M 0 JKH 0 , HOBHHKy, KOTOpO-
ro He HcnyraeT OTcyrcTBHe rpa^Hnecxoii nporpaMMbi ycTaHOBKH,
a TaiQKe nocTHHCTajuinu;HOHHa 5 i bo3hh c jiOKajiH 3 au;HeH. K TOMy
xe AonojiHHTejibHbiM npenMymecTBOM VectorLinux moxho chh-
TaTb B 03 M 03 CH 0 CTB pabora Ha ycTapeBmeM obopy^OBaHKH. |
4/2005 LINUX CHIP
56
advanced
c m c t e m a
PoMaH Xmmob
HaHHM CHanasia
C InitNG MHe AOBe/iocb no3HaKOMHTbai eme b Bepcnn 0.06 — oahom m3
nepBbix ny6/WHHO AociynHbix. TorAa HOBOCTb o HeM o6/ieie/ia Bee neHTbi.
11 51 He yAepwa/iCB OTToro, mo6bi He nosKcnepnMeHTnpoBaTb.
M He 3pa: TorAa a BnepBbie yBMAe.fi, hto 3aMyneHHbiM >KM3Hbfo Celeron
480 co 128 M6aMT naMBTM, ocHameHHbm k TOMy we mhowcctbom cepBMCOB,
MoweT 3anycKaTb m/mrBMHa b no/ieT 6bicipee, neM sto p,enaei ctobiamm
pBAbiiBKOM Athlon 1700+ c 256 M6aMT.
npaB^a, c toh BepcneH npHnuioct H 3 p 5 iAHO iiobo 3 htbc 5 i, no-
CKOJiBKy CTa6HjiBHo OHa pa6oTaTB HHxax He xoTejia h nepHOAHne-
ckh HOpOBHjia OTKa 3 aTBC 5 i to ot 3 arpy 3 KH kdm, a to h Apyrnx
cepBHCOB. TeM He MeHee CTapBift AodpBiit maMaHcxHH 6y6eH Me-
HB BBIpyHHJI, H 3 Ta BepCHH npOCTOiLJia Ha TOM CaMOM KOMnBIOTe-
pe oneHB aojito, nepHOAnnecxH BBiAaBan c6oh, ho b u;ejiOM o6ec-
nenHBaii AOCTaTOHHBiH ypoBeHB HaAeacHOCTH padoTti.
a, InitNG Bee eme nBjineTcn 3xcnepHMeHTajiBHBiM cocjrroM,
noaTOMy HaKjiaAKH b npoitecce ero HcnojiB30BaHHH BecBMa Bepo-
hthbi. IIo33ce 5i 3aMeHHji CTapyio BepCHio Ha InitNG 0.3.x, no6o-
pojicii c hobbimh rjiioKaMH h OTMeTHji nyrt 6ojiee CTadHJIBHOe no-
BeAemie cncTeMBi. OAHaxo no-HacTOimjeMy 6ecnpo6jieMHOH
CTajia tojibko jrnniB nocjieAHiiii BeTxa InitNG BepCHH 0.4.x.
I Im 't I
Hto ace Taxoe InitNG h hto oh npH3BaH 3aMeHHTB? InitNG rbjw -
eTCH ajiBTepHaTHBOH Init, xoTOpBiit OAH 03 HaHHO HajinnecTByeT b
B ameM ah CT pHdyraBe, xaxHM 6 bi oh hh 6biji. Init — npoitecc ho-
Mep oahh b CHCTeMe, HMeHHO eMy iiApo nepeAaeT ynpaBjieHHe
nocjie HHHu;HajiH 3 aitHH, h hmchho oh 3 anycKaeT Bee, hto bbi ot He-
ro xoTHTe Ha 3 Tane 3arpy3KH. K TOMy ace Init HBjiaeTCH npeAKOM
jho6oto npoitecca, 3 anynteHHoro b Barnett CHCTeMe.
Tax CJIOaCHJIOCB, HTO 3 Ta oOjiaCTB CB060AHBIX CHCTeM npaKTHHe-
ckh He pa3BHBajiacB. B GNU Hcnojn> 30 BajiC 5 i aHajior — SysVinit,
h BceM aouiocB, b odnteM-TO, xopomo. Pobho ao Tex nop, noxa
He odHapyacHjioct, hto Windows XP 3arpyacaeTC5i dbiCTpee mho-
roHHCJieHHBix nojiB30BaTejiBCKHx AHCTpHdyTHBOB GNU/Linux.
BpeMii 3arpy3KH 5 ibhjiocb ochobhbim KaTajiH3aTOpOM nccjieAOBa-
hhh b 3toh odjiacTH, a InitNG CTaji oahhm H3 pe3yjiBTaTOB 3 toto
T pyAoeMKoro npoitecca.
EcTecTBeHHO, npoeKT He npeACTaBjnieT HHTepeca ajih cep-
BepoB, nocKOJiBKy b 3toh odjiacTH ManiHHBi He aojdkhbi bbi-
KjnoHaTBCH h nepe3arpyacaTBC5i Boodnte, a yac ecjin h npHAeTCii,
to MHHyTa-Apyraii noroABi He AeJiaeT. InitNG, paBHO xax h
MHOTHe H3 nOCJieAHHX AOBOJIBHO 3HaHHTeJIBHBIX H3MeHeHHH B
GNU/Linux, npeAHa3HaneH ajih HacTOJiBHbix ManiHH npocTtix
nojiB30BaTejieH, xoTOptie He jnodiiT aojito chactb nepeA mohhto-
pOM b 03CHAAHHH OKOHHaHHH npoitecca 3arpy3KH. IIpaBAa, noxa
oh He HcnojiB3yeTC5i xax CTaHAapT hh b oahom AHCTpHdyraBe.
Il0JH>30BaTeJI5IM npHAeTCii pa3MHHaTB naJIBHHKH B KOHCOJIH H no-
3HaBaTB TaHHCTBa KOH(J)Hrypau;HH CBOHX CHCTeM.
npo6iieMbi Init
B neM ace npodjieMa CTaporo Init, noneMy eMy noTpedoBajiacu
3aMeHa? Oh njioxo APy^cHT c napajuiejibHbiM 3anycKOM cepBH-
cob, 3to cjtaxT. Beet npoitecc 3arpy3KH AOJiaceH 6 bitb pacnncaH
b CKpnnTax CTporo nocjieAOBaTejibHO. 3 to njioxo, Tax xax
dOJIBLHHHCTBO CepBHCOB Ha CaMOM AOJie He 3aBHC5IT Apyr OT
Apyra, ho npn 3 tom ohh He MoryT 3anycKaTbC5i napajuiejiLHO
H3-3a orpaHHneHHH Init.
Kax npaBHjio, Bee 3anycxaeMBie cepBHCBi hto-to CHHTBiBaiOT c
AHexa, a 3 to BcerAa nponcxoAHT oneHB MeAJieHHO. Bo BpeMii Ta-
CHIP LINUX 4/2005
ycKopenne 3 a n y c k a Linux
57
Boot chart for pu-erh (Sun Nov 2 7 19:12:13 MSK 2005)
unumr Isnui ? G 14-rt^ mm] |iu rrli #1 PRFFMPT AWl Oil 14 1ft ?7 00 USD 700G >GRG
&SE UniK 9 1 flSSG)
CPU mobile AMD AhlnrHl^ XP 1700+ (II
kernel opiicns: lajw rMWdev/haal viden --sewagelS 10£4K76a-32«Q splash- menr deskrnp resume -rOE^/ndeS slwwnpcs ir E-ysbirVOst
lime: 0:33
■ CPU 0fter+iyi> ■ i/o pm «>
• []i%k Ihrnuyhput I3i-.li ulilu.-ilion
■ Running puj □ Onlm. sleep 0/0) R Sleeping ■ 2nmtne
fpacpMKM 3arpy3KM„ no/iyneHHbie b bootchartd. InitNG odoma/i Init oohtm b ABa pasa
Koro BBOAa/BLiBOAa npoiteccop Mor 6 bi yzjejiHTB BHHMaHHe Apy-
roMy cepBHcy, ho CTapBiH Init 3TOMy He cnoco6cTByeT. AHajio-
thhho nponcxoAHT h c coldplug, kotopbih 3aAaeT pa6oTy HApy no
odnteHHK) c ycTpoiicTBaMH, a 3to Toace BecBMa AJiHTejiBHaa one-
pau;HH, H XOpOHIO 6bl B 3TH MHJIJIHCeKyHABI npOCTOH 3aHHTB npo-
iteccop HeM-HH6yAB ApyrHM, He MeHee nojie3HBiM.
| HoBaijMM InitNG |
InitNG pemaeT onHcaHHyio npodjieMy nyreM napajuiejiBHoro 3any-
cxa Bcex He 3aBHCHMBix ttpyr ot Apyra cepBHCOB, hto cnocodcTByeT
paBHOMepHoii 3arpy3Ke npoiteccopa h nepH(J)epHH, b pe3yjiBTaTe
Bee cepBHCBi BMecTe ycneBaiOT 3arpy3HTBca 3HanHTejiBHO dBiCTpee.
InitNG jiattHO CKpoeH h HMeeT MOAyJiBHyio apxHTeKTypy, xoth
3to 6ojiBme HHTepecHO nporpaMMHCTaM, KOTOpBie 3axoTHT ero pac-
hihphtb. riapajuiejiBHOCTB >xe 3anycKa obecneHHBaeTCH npaBHjiB-
HOH CHCTeMOH CKpHnTOB, B KOTOpOH nOpHAOK HX BBinOJIHeHHH paC-
CHHTBIBaeTCH Ha OCHOBe peaJIBHBIX 3aBHCHMOCTeH cepBHCOB.
Hano OTMeTHTB, hto cyuiecTByK)uiaH ceroAHH CHCTeMa 3arpy3KH
b Gentoo HMeeT cxoacyio CTpyKTypy (ocHOBBiBaeTca Ha 3aBHCHMO-
cthx) h na>xe no3BOJiHeT napajuiejiBHO 3anycKaTB cepBHCBi, OAHaKO
CTapBiii Init orpaHHHHBaeT 3 th bo3moxhocth, h peajiBHBiir npH-
pOCT CKOpOCTH 3arpy3KH OT 3TOTO BeCBMa HeBeJIHK. Hobbih InitNG
nOJIHOCTBK) JIHHieH nOAObHBIX HeAOCTaTKOB.
VcTaHOBKa n flncTpn6yTMBbi
Ha^o npH3HaTB, hto Handojiee KOMcjtopTHO InitNG nyBCTByeT ce-
6 n b toh cpette, r^e oh h BBipoc, a hmchho b Gentoo. Elite b
oneHB paHHHx Bepcnnx rjik Hero 6 biji AOCTyneH ebuild, kotopbih
T enepB Taicace bxoaht b ochobhoh peno3HTOpHii Gentoo. IIosto-
My Bee, hto ot Bac 3AecB noTpedyeTcn, — 3 to BBecTH emerge init-
ng, a portage CAenaeT Bee caMOCTonrejiBHo . Xoth MHHHMajiBHaa
KOH(J)HrypaitHn, HaBepHoe, Bce-TaKH noTpebyeTca.
Odjia^aTejiiiM Apyrnx AHCTpHbyraBOB npHAeTca 3acyHHTB py-
xaBa. nojn>30BaTejiHM Debian h ero MHoroHHCJieHHBix orapBic-
kob (b tom nncjie h Ubuntu) 3Aecb noBe3Jio hcckojibko 6ojn>me,
nocKOJiBKy Rim 3thx chctcm cymecTByeT cneitHajiBHBiii naxeT
Debian (http://alioth.debian.org/projects/pkg-initng), kotopbih
ynpontaeT npoitecc ycTaHOBKH.
OcTajiBHBiM ace npHAeTca npOH3BOAHTB cbopKy cbohmh py-
KaMH H3 hcxoahhkob (http://initng.thinktux.net), hto Ha caMOM
Aene He Tax yac h njioxo. InitNG HMeeT AOCTaTOHHo yMHBiii
Makefile, kotopbih nBiTaeTca AoraAaTBca, KaKoii AHCTpHbyraB y
Bac ycTaHOBjieH (cooTBeTCTBeHHO noACTpaHBaa CKpnnTBi 3anycKa
cepBHCOB) H HTO 3a CepBHCBi CTapTyiOT no yMOJinaHHIO (COOTBeT-
CTBeHHO cocTaBjina cnHCOK 3anycKa y ceba).
OTMeny, hto Bee TecTBi h npHMepBi KOH(J)Hrypau;HH ocHOBaHBi
Ha InitNG Bepcnn 0.4.4. IlpoeKT oneHB 6ypHO pa3BHBaeTca, no-
4/2005 LINUX CHIP
58
advanced
c m c t e m a
3T0My, B03M0JKH0, K MOMeHTy BBIXO^a JKypHaJia HeKOTOpan HH-
(J)opMau;HH by^eT yace He coBceM tohhoh.
Ilocjie ycTaHOBKH HeobxcwiMO ^obaBHTB ente o#hh nyHKT b Me-
hk) 3arpy3KH Bainen CHCTeMti h b HeM nponncaTB impy napaMeTp
init=/sbin/initng. B GRUB oh HanpHMyio noMemaeTcn b KOHeit
ctpokh «kernel (..)/...», a b LILO sto 03HauaeT flobaBjieHne CTpou-
kh 'append = «init=/sbin/initng»' b xejiaeMBin nyHKT. He ctoht no-
Ka hto neJiaTb 3Ty KOHcJnirypamiK) 3arpy»caeMOH no yMOJiuaHHio.
flajiee HeobxoAHMO nonpoboBaTB nepe3arpy3HTBC5i c InitNG h
npHroTOBHTBcn k pabcrre b uhctom kohcojibhom pexcHMe — CTaBjno
iihtb k o^HOMy, hto c nepBoro pa3a X h [kgx]dm y Bac He 3anycTHT-
cn. PaBHO xax h MHorne Apyrae cepBHCBi. He Hy*no Gohtbch 3thx
npobjieM — xoth bbibo# 06 oinnbKax MOJKeT 6 bitb h nyraiontHM,
HaBpeAHTB cncTeMe bbi BpHn jih CMOxceTe, He3anycKaK)mHHCH cep-
bhc He 03HanaeT pa3pymeHHOH KOH(J)HrypaitHH, AOCTaTOHHO nepe-
3arpy3HTbCH co CTaptiM Init — h Bee byzjeT b nopnnKe.
ripilTlipKa M AOBOflKa
K orpOMHOMy coxajieHHio, Ka^Biii AHCTpubyraB CHHTaeT uyTB
jih hh cbohm aojitom Hcnojib 30 BaTb cobcTBeHHbie 3 arpy 30 UHBie
CKpraiTbi, a Taicace pacnojioaceHHe h cjiopMaT KOHcjiHrypaitHOH-
HBIX (J)aHJIOB, CKpHnTBI-nOMOinHHKH H npOUee. Ho K 3 T 0 My
MOJKHO OTHeCTHCB C bOJIbHIHM 3 HTy 3 Ha 3 MOM — HaCTpaHBafl
InitNG, bbi jiyume y3HaeTe cboio cncTeMy, a jnobHTejin LFS
(Linux from Scratch) yace Moryr npHMepHTB InitNG k cbohm
CHCTeMaM b xanecTBe e,n,HHCTBeHHoro Init. B kohchhom cueTe
Ha 3to Bp ha jih yH^eT Tax mhoto BpeMeHH (Bee 3aBHCHT ot Ba-
hihx HaBbiKOB paboTBi c kohcojibio).
HTax, npobyeM nepe3arpy3HTBcn c InitNG. Ecjih y Bac Bee 3a-
paboTajio, 3HaiiTe — bbi peflKHH Be3ymiHK. Cxopee xe Bcero, bbi
yBHAHTe, hto CHCTeMa 3arpy3HjiacB He nojiHOCTBio, h bbibo#
InitNG 3anHyjicii Ha ypOBHe 70—80% 3arpy3KH, npn 3 tom nepBan
kohcojib coBepmeHHO HenpHro^Ha k HcnojiB30BaHHio, a «hk-
cbi»... o hhx Ha BpeMH Boobnte jiymne 3abBiTB.
BcnoMHHaeM o cymecTBOBaHHH Apyrnx TepMHHajiOB h CMejio
HajKHMaeM «Alt+F2». no yMOJiuaHHio InitNG 3anycKaeT agetty
Ha niecTH TepMHHajiax, ho nepBBra H3 hhx 3anycKaeTC5i tojibko
b cjiynae abcojnoTHO ycneniHoii 3arpy3KH CTaH^apTHoro ypOBHH
HcnojiHeHHn. 3axo^HTe cpa3y KaK root h He CTecHinfrecB.
OcHOBHan aa^ana Ha flaHHOM 3Tane — bbhibhtb cepBHC hjih
fle moh, kotopbih noMeinaji nojiHOiteHHoii 3arpy3Ke. /(jih 3Toro
Heo6xoAMMafl HacrpouKa
HoBbie fleMOHbi
K co>KajieHMK) mjua k CMac-
Tbio, ho b cocTaee InitNG mo-
>KeT m He OKa 3 aTbcn CKpwnTa
3 anycKa ncnojib 3 yeMoro Ba-
mm fleMOHa. OflHaKO Tenepb
Bbi y>ne rypy b o 6 jiacrn ero
KOHC^MrypauMM, no 3 TOMy, Ay-
M 3 K), y Bac He B 03 HMKHeT
npo 6 neM c Ao 6 aB/ieHneM ho-
Bbix CKpii moB. Bot b KaMecT-
Be npMMepa caMonucHbm
CKpiim 3 anycKa pure-ftpd:
daemon daemon/pure-ftpd {
need = system/initial sys-
tem/mountfs system/host-
name net/lo
require jnetwork
daemon = /usr/sbin/pure-
ftpd
}
CeaHC flpaBKa Bma 3aKnaAKM HacipofiKa CnpaBKa
L=j i25j
pu-erh:/home/rik # ngc -s
Next Generation init Control, version: 0.4.4
written by Jimmy Wennlund < jimmy .wennlund@gmail.com)
Got an response from initng, version: 0.4.4
hh:mm:ss service
status
11:57:56 default
FAII STOPPING
11:57:53 system
START_DEP_FAILED
11:57:53 system/ initial
DONE
11:57:56 system/mountroot
DONE
11:58:02 system/mountf s
DONE
11:58:03 system/bootmisc
DONE
11:57:56 system/clock
DONE
11:57:54 system/hostname
DONE
11:57:56 system/modules
DONE
11:57:56 system/hdparm
DONE
11:58:04 system/keymaps
DONE
11:58:03 system/urandom
DONE i
11:57:56 system/swap
DONE
11:57:53 system/coldplug
START_DEP_FAILED
11:57:56 system/coldplug/pci
DONE ]
11:57:56 system/coldplug/usb
DONE
11:57:53 system/coldplug/ input
START_DEP_FAILED i
11:57:53 system/coldplug/isapnp
FAIL.STARTING i
11:57:53 net/lo
START_DEP_FAILED
11:58:04 system/consolef ont
DONE
11:58:08 daemon/agetty
DONE
11:58:08 daemon/agetty/ttyl
RUNNING
11:58:02 daemon/agetty/tty2
RUNNING
11:58:02 daemon/agetty/tty3
RUNNING
11:58:02 daemon/agetty/tty4
RUNNING
11:58:02 daemon/agetty/tty5
RUNNING |
11:58:02 daemon/agetty/tty6
RUNNING
11:58:08 net/ethO
DONE
11:57:53 system/alsasound
START_DEP_FAILED
11:57:53 system/alsasound/loadmodules
START_DEP_FAILED
11:58:03 daemon/syslogd
RUNNING
11:57:53 daemon/kdm
START_DEP_FAILED
11:57:53 daemon/apache2
START_DEP_FAILED
11:57:53 daemon/mysql
START_DEP_FAILED
11:57:53 daemon/sshd
START_DEP_FAILED
11:57:53 daemon/ntpd
START_DEP_FAILED
11:58:03 daemon/power saved
RUNNING
11:57:53 daemon/cupsd
START_DEP_FAILED
pu-erh:/home/rik # |
0
| & || M Shell |
4
HeyflaHHoe pacnoao»eHne cepBHCOB. MHorne M3 hhx )kayt
pa3peuieHHB koh^hktob
npH^eTCii no3HaKOMHTBCn c HHCTpyMeHTOM ngc (New Generation
Init Control), kotopbih bxoaht b cocTaB InitNG. Oh no3BOJineT
nojiHOCTBio ynpaBjinTB npoiteccoM 3arpy3KH c InitNG. B HanieM
cjiynae noTpebyeTCH ngc -s, kotopbih noKaaceT CTaTyc 3arpyaceH-
HBIX CepBHCOB/fleMOHOB.
CKOpee Bcero, b bbiboac byaeT obmpyaceHO hcckojibko cep-
bhcob, oximaiontHx pa3pemeHHn 3aBHCHMOCTeii (START DEP
FAILED), a Taioxe o^hh hjih ^Ba, KOTOpBie He cyMejin 3anycTHTB-
ch (FAIL STARTING). Bania 3a,aaua — H3baBHTBCH ot «iuioxhx»
CepBHCOB H ^e MOHOB.
HeHyacHBie cepBHCBi mojkho npocTo yuajiHTB H3 paccMOTpe-
HHn c noMontBio ng-update del service/badservice, a npome, Ha
moh B3rjinA, cpa3y nepeHTH k npnMOH npaBKe KOH(})HrypaitH-
ohhbix (JjaiijiOB InitNG. 3arpy3onHBie CKpnnTBi h HacTpOHKH
InitNG pacnojiaraiOTcn b /etc/initng. TaM ace bbi obHapyacHTe
HecKOJiBKo (jiaiijioB *.runlevel, *.i h KaTajioroB c 4)aiijiaMH *.i.
OaiijiBi *.runlevel onncBiBaiOT ypOBHH HcnojiHeHHn InitNG,
bbi MoxeTe 3arpy3HTB jiioboh H3 hhx, nepe^aB n^py b KanecTBe
napaMeTpa HeobxoAHMBin ypoBeHB b BH^e runlevel=level. Oan-
jibi *.i onncBiBaiOT KOHKpeTHBie cepBHCBi h acmohbi, 3anycKae-
MBie InitNG, a b KaTajiora ohh npocTo jioranecKH rpynnnpy-
iotch AJin y^obcTBa.
TaKHM obpa30M, bbi cpa3y MoxeTe nepeiiTH k npaBKe cjiaH-
jiob system. runlevel hjih default. runlevel (HeTpyzjHO Aora^aTBcn,
hto HMeHHO 3tot ypoBeHB 3anycKaeTcn no yMOJinaHHio, o^HaKO
oh 3aBHCHT ot napaMeTpa system) c itejiBio yAajieHHn cepBHCOB
H AeMOHOB, KOTOpBie ^aJIH ebon. B 3THX (jianjiax HCnOJIB3yeTC5I
npocTeiimHH cnncoK, o^Ha CTpOKa — oahh cepBHC.
CHIP LINUX 4/2005
ycKopenne 3 a n y c k a Linux
59
C n Shell - Konsole <3>
- + X
Next Generation init Control, version: B.4.4
r
uritten by Jimmy Wennlund < jimmy. ujennlund@gmai 1 . com)
Got an response from initng, version: 0.4 . 4
hh:mm:ss service
status
12:03:47 system
DONE ail
12:03:24 system/initial
DONE
12:03:27 system/mountroot
DONE
12:03:34 system/mountfs
DONE
12:03:35 system/bootmisc
DONE
12:03:27 system/clock
DONE
12:03:25 system/hostname
DONE
12:03:27 system/modules
DONE
12:03:27 system/hdparm
DONE
12:03:39 system/keymaps
DONE
12:03:35 system/urandom
DONE
12:03:27 system/swap
DONE
12:03:27 system/coldplug
DONE
12:03:27 system/col dpi ug/pci
DONE
12:03:27 system/col dpi ug/usb
DONE
12:03:27 system/coldplug/ input
DONE
12:03:36 net/lo
DONE Q
12:03:39 system/consol efont
DONE
12:03:47 daemon/agetty
DONE
12:03:47 daemon/agetty/ttyl
RUNNING
12:03:34 daemon/agetty/tty2
RUNNING
12:03:34 daemon/agetty/tty3
RUNNING
12:03:34 daemon/agetty/tty4
RUNNING
12:03:34 daemon/agetty/tty5
RUNNING
12:03:34 daemon/agetty/tty6
RUNNING
12:03:41 net/eth0
DONE
12:03:36 system/alsasound
DONE
12:03:30 system/alsasound/ loadmodules
DONE
12:03:35 daemon/syslogd
RUNNING
12:03:37 daemon/kdm
RUNNING
12:03:38 daemon/mysql
RUNNING
12:03:39 daemon/sshd
RUNNING
12:03:39 daemon/ntpd
RUNNING
12:03:35 daemon/ power saved
RUNNING L
12:03:38 daemon/cupsd
pu-erh:~ #
RUNNING a
z\
C 7 Shell |
{ m
llpaBimHO noflofipaHHan uemma cepBHCOB - Bee 3anycTxaocb
O^HaKO Kaxaii ace nojn>3a ot InitNG, ecjiH Mbi BbipexceM Bee
3anycKaeMBie cepBHCBi h AeMOHbi? Ohh HaM Bce-Taiat HyxcHbi,
noaTOMy nopa no3HaKOMHTbC5i c cjiaHjiaMH *.i, onHCbiBaiomHMH
Bee, uto CTapTyeT npn noMomi InitNG. Ctoht otmcthtb, uto ce-
toahh Taiace HMeeTCH bo3mo3choctb ncnojiB30BaTB XML ajih
onncaHHii cepBHCOB, ho sto cjioxHee h He Tax Harjin^HO, xax hc-
nojiB30BaHHe (J)opMaTa *.i. OcTaBHM XML 3a6oTjiHBBiM ahctph-
6bioTopaM, KOTOpBie #o6aB5iT k hhm KpacHBbie rpac[)HHecKHe Ha-
CTpOHKH; KTO-HH6yAb H3 HHX, B03M0JKH0, peiHHTCH B CJieAyfOHjeM
ro,ay c^ejiaTb InitNG ochobhbim rjik CBoero AHCTpHdyraBa.
CepBMCbi
HeM OTjiHnaiOTcn cepBHCbi ot a^mohob? Bee oneHb npocTO,
AeMOHbi — CTaH^apTHbie h npHBbiHHbie BceM sshd hjih mysqld —
3 anycKaiOTC 5 i h (jiyHKiiHOHHpyiOT b Teuemie Bcero BpeMeHH pado-
tbi CHCTeMbi. CepBHCbi ace, b TepMHHOJiorHH InitNG, HBJHHOTCH
cymHOCTbK), 3 anycKaeMOH eAHHoacAbi Ha 3 Tane 3 arpy 3 KH hjih bbi-
rpy 3 KH CHCTeMbi. IlpHMepbi — coldplug hjih HacTponica uacoB;
Bee 3 to BbinojiHueTCH oahh pa 3 npH 3 arpy 3 Ke, HacTpaHBaeT to,
hto Ha^o, h 3 aBepmaeTC 5 i.
IlpHMepbi oneHb npocrax cepBHCOB MoacHo Taicace yBH^eTb b
system/local.i, system/ntpdate.i h system/swap.i. PaccMOTpHM
CHHTaKCHC Ha npHMepe system/swap.i:
service system/swap {
need = system/initial system/mountroot
start = /sbin/swapon
start_args = -a
# start {
# #!/ bin/bash
# /sbin/swapon -a
# exit $?
# }
}
KaxAbiii cepBHC odbHBjiaeTCii xax «service HMH_cepBHca», h Bee
ero onncaHHe 3aKjnouaeTC5i b cjmrypHbie cko6kh. Oho coctoht H3
KjnoneBbix cjiob h hx napaMeTpOB. CaMoe rjiaBHoe, hto aojhkho
6biTb y cepBHca, — 3 to start h/hjih stop.
IloCMOTpHTe Ha pa3JIHHHH Me^y 3aKOMMeHTHpOBaHHbIM (J)Op-
MaTOM (a KOMMeHTapHH no TpaAHIJHH HaHHHaiOTCH C «#») H pado-
thm (aHajiorHHHO OTjiHHaiOTCii system/local.i h system/ntpdate.i):
b hhx npeACTaBjieHbi Ana pa3Hbix cnocoda 3aAaHHH flencTBHH.
IlepBbiH Hcnojib3yeT KjnoneBbie cjiOBa start h start_args.
KoMaH^a, BbinojiHueMaii InitNG npH 3anycKe Taicoro cepBHca,
(jiopMHpyeTCH HanpHMyio H3 hhx h Tyr xe Bbi3biBaeTCH. B AaHHOM
npHMepe oto /sbin/swapon -a.
Btopoh cnocod 3aflamni AencTBHH 3HauHTejibHO 6ojiee rad-
khh, nocKOJibKy Bee, hto 3aKjnoHaeTC5i b djioice start{} (hjih
S tOp{}), HBJHieTCH OdblUHblM shell -CKpHnTOM — CO BCeMH BblTeKa-
iohihmh nocjieACTBHHMH. Ho TaKoii MeTOA padoTaeT MeAJieHHee
(h HMeHHO no3TOMy b system/swap 6 biji 3aKOMMeHTHpOBaH), Tax
xax juia ero 3anycica InitNG npnxojiHTCH pasBopaHHBaTb OT^ejib-
hbih npou;ecc HHTepnpeTaTopa KOMaH^HOH ctpokh h OT^aBaTb
eMy CKpHnT. /(jih npocrax cepBHCOB, noTpedHOCTH kotopbix mox-
ho onncaTb b nepBOM (JiopMaTe, oh hbho MeHee npeAnouTHTejieH .
npocTenmnii cepBHC MoaceT coctoutb tojibko H3 oahoto djioica
start h 6y^eT ycnenmo padoTaTb, OAHaico cepBHCbi Moryr 3aBHceTb
ot Apyrnx cepBHCOB, h Mbi nepexoAHM k Handojiee HHTepecHOH na-
cth InitNG — padoTe c 3aBHCHMOCiHMH.
3aBMCMM0CTM
B npocTeirmeM bhac Hcnojib3yeTcn KjnoneBoe cjiobo need, b
kotopom nepe3 npodejibi BnHCbiBaeTcn Bee, hto TpedyeTcn 3a-
nycTHTb, ao toto xax dyaeT 3anyni;eH onncbiBaeMbiH cepBHC.
B npHMepe c system/swap oto system/initial h system/mountroot;
AencTBHTejibHO, Bee cepBHCbi 3aBHCHT ot ycneniHoro 3aBepme-
HHH padOTbl CKpHnTa HauaJIbHOH HHHII,HaJIH3aiI,HH CHCTeMbi, H
flono/iHMTe/ibHaa iiHcfiopMauiifl
flone3Hbie bo3mo>khoctm ngc
nocne toto Kan bbi, nafle-
iocb f pa3p euime Bee npo 6 ne-
Mbi, CBn3aHHbie c HacrpoH-
koh InitNG, ctoht no 6 nn>Ke
n03H3K0MHTbCn C HHCTpy-
MeHTOM ngc. ripOAOJl>KHB 3TO
3H3KOMCTBO, Hanpmviep, c
ngc -0. 3Ta HexMTpan KOMaH-
Ad paccna>KeT BaM Bee 06 on-
uwnx, KOTopbie mo>kho mc-
nonb30BaTb b onwcaHHnx
cepBHCOB h AeMOHOB, no-
CKonbKy Ha caMOM Aene hx
H ecKonbKO 6 onbLue, neM 6 bi-
no ynoMHHyTO paHee. Bonee
TOTO, OHH nOCTOHH HO pd3BH-
BaiOTcn, pacuiHpniOTcn h
H 3MeHniOTcn, nocKonbKy
InitNG — Bee eiue oweHb
MonoAOH npoAyKT.
TaK>Ke cpa3y >ne ctoht 3a-
noMHHTb ngc -u h ngc -d,
KOTOpbie COOTBeTCTBeHHO
3anycKaiOT h ocTaHaBn h B aiOT
cepBHCbi h AeMOHbi, nepeAa-
BaeMbie cneAyioutHM napa-
MeTpoM. rionesen h ngc -x,
no3Bonmo[AHH cepBHCbi ne-
pe3anycnaTb. OcTanbHoe y>ne
He Tan HHTepecHo, ho npn
>KenaHHH AOCTynHO ns\a
H3yMeHHn no ngc -h.
4/2005 LINUX CHIP
60
advanced
c m c t e m a
IIOHTH BCeM Heo6xOAHMO HMeTb B03M0XH0CTB 3anHCbIBaTb HH-
(j)opMai^HK) b KopHeBOH pa3aeji.
Baxno, hto onncbiBaeMbie b need 3aBHCHMOCTH hbjihiotch Kpn-
TnnecKHMH ami cepBHca, h 6e3 yaoBjieTBOpeHHH Bcex 3aBHCHMOC-
Ten InitNG aax e He dyaeT nbiTaTbcn 3anycKaTb cepBHC.
HecKOJibKO Apyroft noaxoa npeacTaBjmeT Hcnojib30BaHHe
KjnoneBoro cjiOBa use. OnHcaHHbie c ero noMontbio 3aBHCHMOCTH
no3BOJi5HOT 3a,aaBaTb nopnaoK 3anycKa cepBHCOB/aeMOHOB, ecjiH
ohh onHcaHbi b 3aaaHHOM ypOBHe 3anycKa. To ecTb, b OTjiHHHe
ot need, ecjiH bbi He codnpaeTecb 3anycKaTb HenTO H3 cnncKa use,
Bee dyaeT b nopnaKe.
HanpHMep, b daemon/apache2 cpean use hhcjihtch daemon/
sshd h daemon/mysql. 3to 3Hawr, hto ecjiH bbi 3anycKaeTe Ha
CBoen MamHHe sshd, to apache2 dyaeT 3anymeH nocjie Hero.
O^HaKO ecjiH Bbi He 3anycKaeTe sshd, to apache2 dyaeT ycnemHO
3anymeH h 6e3 Hero. AnajioraHHO h c aeMOHOM mysql.
flono/iHme/ibHbie bo3mo>khoctm
O^HOH H3 HHTepeCHbIX 3aBHCHMOCTeH, BbIHeCeHHOH RXKQ B OT^eJIb-
Hoe KjnoneBoe cjiobo, HBjraeTCH Taicxe require_network. Kax moxho
aoraaaTbcn H3 Ha3BaHHH, OHa Hcnojib3yeTcn TeMH cepBHcaMH H^e-
MOHaMH, KOTOpbie Hy>KaaK)TCH B CeTeBOM nOAKJHOHeHHH. JIOKaJIb-
Hoe ceTeBoe noaKJiiOHeHHe lo 3Ty 3aBHCHMOCTb He yaoBjieTBopneT.
ITomhmo 3toto Taioxe aocTyneH env, b (JmpMaTe env =
VAR=something moxho nepeaaBaTb nepeMeHHbie OKpyxeHHH
Bbi3biBaeMbiM cepBHcaM h aeMOHaM. Tarax onpeaejieHHH MoxeT
6biTb HecKOJibKO Rim oahoto cepBHca (cooTBeTCTBeHHO, dyayr
3aaaHbi HecKOJibKO nepeMeHHbix OKpyxeHHH). 3to h OTjinnaeT
env ot apyrnx onncaTejieH.
Taicxe mojkho 3aaaBaTb nice, suid h sgid — cooTBeTCTBeHHO
npHOpHTeT, nojib30BaTejib h rpynna, ot hmchh kotopmx dyaeT
3anym;eH npoijecc. Ha 3axycKy hmciotch stdout h stderr, c no-
Monibio kotopmx moxho nepeHanpaBjiiiTb CTaHaapTHbie noTO-
kh BBoaa h BbiBO^a omndoK.
| fleMOHbl |
Hto KacaercH pa3JiHHHH cepBHCOB h aeMOHOB, nocjieaHHe hmciot ao-
nOJIHHTeJIbHbie B03M0XH0CTH H HecKOJibKO HHOH (jDOpMaT 3aaaHHH
npoiteccoB. C oaHoit CTOpOHbi, hx moxho onncbiBaTb c noMontbio
start{} h stop{} (b KanecTBe npHMepa CMOTpHTe daemon/ openvpn), ho
InitNG HMeeT ropa3ao 6ojiee HHTepecHbie bo3moxhocth.
CymecTByeT KjnoneBoe cjiobo daemon — onnTb-TaKH b pa3-
Hbix cjiopMaTax. npHMep Hcnojib30BaHHn kopotkoto (JiopMaTa
moxho noacMOTpeTb b daemon/apache2: xax BHaHTe, cymecT-
ByeT h daemon_args ami nepeaauH napaMeTpOB aeMOHy. npH-
Mep cjiopMaTa daemon{} — b daemon/acpid.
HeodxoaHMO noncHHTb, hto InitNG He npocTO 3anycxaeT
aeMOHbi, oh 3a hhmh eme h npHninabiBaeT. no yMOJinaHHio
cuHTaeTcn, hto ecjiH aeMOH B03BpamaeT ynpaBjieHHe (cTaH-
aapTHoe noBeaemie, HanpHMep, sshd), 3HanHT oh Tax hjih HHa-
ne 6biji y6HT, a CTajio 6biTb, InitNG nonbiTaeTcn nepe3anycTHTb
ero. MMeHHO noaTOMy b CKpHnTax a^m 3anycKa aeMOHOB ctoht
H cnojib30BaTb exec (KaK b npHMepe c acpid).
Ho moxho nocTynHTb HHane. fljm sshd, HanpHMep, moxho
Hcnojib30BaTb napaMeTp -D, h Toraa Bee 6yaeT b nopnaKe.
A moxho HahTH h ajibTepHaTHBHbie cnocodbi. nycKaft aeMOH
B03Bpaiu;aeT ynpaBjieHHe InitNG, ho mbi moxcm OTCJiexH-
BaTb ero cocTonmie nepe3 cjiaHji pid. fljin ototo h npeaHa3-
HaueHa oniaHH pid file. npHMep ee Hcnojib30BaHHH ecTb b dae-
mon/vixie-cron; oh B03BpamaeT ynpaBjieHHe b jho6om cjiynae,
ho djiaroaapn pid-cjiaHjiy InitNG MOxeT ydeaHTbcn b tom, hto
OH XHB-3aOpOB.
Bee 3to no3BOJineT odecneHHTb HaaexHOCTb cjiyHKHHOHHpOBa-
hhh aeMOHOB. B cjiyuae hx BHe3anHOH CMepm no TeM hjih hhbim
npHHHHaM ohh 6yayr nepe3anyiii;eHbi (6e3 HeodxoaHMOCTH
npHMeHeHHH aonojiHHTejibHbix pemeHHH Bpoae daemontools). Oa-
HaKO, hto6bi odecnenHTb noao6Hyio c))yHKHHOHajibHOCTb, ctoht
nponncaTb b napaMeTpax aeMOHa «respawn=yes», TaK KaK CTaH-
aapTHoe noBeaeHHe ot BepcHH k Bepcnn 3aecb Memuiocb (b Bepcnn
0.4.4 no yMOJinaHHio nepe3anycK OTKjnoneH).
ripoqee
OcTajiocb tojibko ynoMHHyrb bo3moxhoctb Hcnojib30BaHHH inadjio-
hob HMeH, a Taioice to, hto HMeHa (JjanjiOB He o6n3aHbi coBnaaaTb c
HMeHaMH cepBHCOB (XOTH 3TO yaodHO). npeKpaCHbIM npHMepOM
nocjieaHero nBjineTcn (Jjanji net/net. i, rae onHcaHbi net/lo h net/*,
HMeiontHe pa3Hbie 3aBHCHMOCTH h nocjieacTBHn (network_provider
b net/* KaK pa3 h yaoBjieTBOpneT 3aBHCHMOCTb require network).
LQadjiOHbi 3aecb no3BOJi5iioT eanHoo6pa3HO padoTaTb c ceTeBbiMH
noaKJHoneHHHMH jiiodoro Bnaa; 3anycKaeMoe b aaHHbiii momcht noa-
KjHoneHHe nepeaaeTcn b nepeMeHHOH ${NAME}.
HadpoMKa
Bceil 3TOH HH(J)OpMaitHH aOJIXHO C JIHXBOH XBaTHTb Rim 0C03HaH-
hoto H3MeHeHiw HacTpoeuHbix (JiaiijiOB InitNG, hto b kohchhom
CH ere npHBeaeT Bac k xejiaeMOMy pe3yjibTaTy.
B aejie HcnpaBjieHHn HacTpoeK b nepByio onepeab ctoht o6-
paTHTB BHHMaHHe Ha napaMeTpbi, c kotopbimh 3anycKaiOTcn Te
hjih HHbie aeMOHbi/cepBHCbi — ydeaHTbcn b tom, hto 3anycKa-
iotch HMeHHO Te dHHapHHKH h hto ohh jiexaT TaM, npeano-
jiaraeT 3to InitNG. Oh aeHCTBHTejibHO 3aopOBO noacTpaHBaeT-
ch noa OKpyx:aioiu;yio odcTaHOBKy (ecjiH He BepHTe, cpaBHHTe
coaepxHMoe <J>aHjiOB *.ii h *.i KaTajiora initfiles b aepeBe nexoa-
hhkob InitNG nocjie cdopKH), ho BceMy ecTb cboh npeaejibi, h
HHoraa oh MOx:eT omndaTbcn.
HanpHMep, C03aaHHbiH Ha SUSE 9.1, Hcnojib30BaHHOH b Kane-
CTBe TecTOBOH iuiontaaKH, CKpHnT daemon/apache2 ruiaHHpoBaji
Bbi3BaTb /usr/sbin/apache2 -D PHP5 -k start, b to BpeMH KaK PHP5
Ha 3toh CHCTeMe He ctoht, a cJ)aiiji /usr/sbin/apache2 Boobme
OTcyrcTByeT. Bmccto 3toto b SuSE 9.1 ecTb /usr/sbin/apache2ctl,
KOTOpOMy HeodxoaHMO nepeaaTb eaHHCTBeHHbiH napaMeTp start.
OaHaKO h 3toto MajiOBaTo — pid-cJjaHji ami Apache 2 b SUSE 9.1
BHaeH KaK /var/run/httpd2.pid, a He /var/run/apache2.pid. nocjie
3thx TpHBHajibHbix H3MeHeHHH Apache CTaji 3anycKaTbCH 6e3
KaKHx-jindo npodjieM.
A bot Ha npHMepe mysqld yx;e moxho paccMOTpeTb tbh-
khht CKpnnTOB InitNG. CKpnnT no yMOJinaHHio 3anycKaji
/usr/bin/mysqld_safe h 3aBHceji ot ceTeBoro noaxmoHeHnn
(require network), oaHaKO mysql d_safe Bcero jinmb odecnenH-
BaeT noaaepxicy mysqld b 3anym;eHHOM coctohhhh h jiornpo-
CHIP LINUX 4/2005
ycKopenne 3 a n y c k a Linux
61
BaHHe HeKOTopoii HH(J)opMau;HH. IIocjieAHee BaM MoxeT 6bitb
npocTo He HyxHO, a nepBoe BnojiHe MOxeT cflejiaTb caM
InitNG. IIo3TOMy moxho CMejio BnHcaTb «daemon=/usr
/sbin/mysqld», a b daemon args nponncaTb Bee acejiaeMbie
napaMeTpbi, nocjie Hero flo6aBHTb respawn=yes h ydpaTb
requirenetwork, ecjiH bm Hcnojib3yeTe 3tot cepBep TOJibKO c
jiOKajibHOH ManiHHbi. MySQL nocjie 3Toro npexpacHo 3anyc-
KaeTCH h padoTaeT, a killall mysqld npofleMOHCTpHpyeT acHBy-
necTb cepBepa — InitNG ero MOMeHTajibHo nepe3anycTHT. 3a-
Meny, hto b oTjiHHHe ot mysqldsafe 3Ta CBH3Ka 3HaHHTejibHO
HaflexHee, nocKOJibKy nepBbm moeho npocTo yduTb, a bot
ecjra ydHTb Init, 6yzjeT cjihhikom 3aMeTHO.
no nOBOAy «HKCOB» HaflO 3aMeTHTb, HTO OCHOBHbie npodjieMbi
C HHMH CBOflHTCil K 3arpy3Ke MOflyjieH. Heo 6x0 AMMO yGeflHTbCH B
tom, hto k MOMeHTy 3anycxa [gkx]dm y Bac 6yfleT 3arpyx;eH0 Bee,
hto KacaeTCH ycTpoitcTB BBOfla/BbiBOfla. HanpHMep, flpaftBep rpa-
(J)HHecKoro njiaHineTa BMecTe c evdev hjih, He flail 6or, nponpne-
TapHbiit flpaiiBep NVIDIA. Ecjih c othm B03HHKai0T xaKHe-TO
npo6jieMbi, mo3cho nponncaTb npHHyflHTejibHyio nocjieflOBa-
TejibHyio 3arpy3Ky Heo6xoflHMbix MOflyjieit b OTflejibHbiii (hjih cy-
IfleCTByiOIflHH, XOTH 3T0 He JiyHIHHH BapHaHT) CepBHC, OT KOTOpO"
ro 6yfleT 3aBHceTb 3anycK [gkx]dm.
Bee 3to noTpe6yeT ot Bac onpeflejieHHbix 3HaHHH o CBoeii ch-
CTeMe h ee HacTpoiiKax, Hcnojib3yeMbix fleMOHax, yrajiHTax,
CKpHnTaX H, COOTBeTCTBeHHO, HX HaCTpOHKaX. Otjihhhbih nofl-
CKa3HHK — /etc/init.d, rfle pacnojioaceHbi «3TajiOHHbie» CKpnnTbi
3anycKa Bcero, hto Hyxno Barneii CHCTeMe (bbi ace pa6oTajin Ha
Hen flo 3 toto, He Tax jih?). nojib3yiiTecb hmh xax iteHHbiMH hc-
TOHHHKaMH HHCbopMaflHH.
XoneTCH OTMeTHTb, hto Ha ceroflHH y InitNG ecTb elite oaho
orpOMHeiiHiee npeHMymecTBO nepefl CTaHflapTHbiM init c jho6bim
CTHjieM 3arpy3KH — oh oneHb npocT, h y Bac ecTb npeKpacHan
B03M03CH0CTB npoflejiaTb nepcoHajibHyio KOHcjiHrypaitHio c mh-
HHMyMOM ycHjiHH, KOTOpan 6yfleT oneHb 6biCTpo 3anycKaTbCH h
noflflepJKHBaTb pa6oTy Heo6xoflHMbix BaM fleMOHOB.
Kax BHflHTe, HHnero CBepxcjioacHoro.
M o pe3y/ibTaiax
Tax paflH nero ace dopojiHCb? npefljiaraio B3rjiHHyTb Ha KpacH-
Beninne rpa(j)HKH 3arpy3KH, nojiyneHHbie c noMontbio
bootchartd (www.bootchart.org). Pe3yjibTaT oneBHfleH — BpeMH
3arpy3KH yMeHbiHHjiocb npaxTHnecKH BflBoe. npn 3tom eme
ocTajicn pe3epB ajih onTHMH3an,HH , nocKOJibKy H3 ckphhtob
M oacHO y6paTb xax MHHHMyM Bee cneitH(J)HHHbie ajih Gentoo
npoBepKH h HacTpoiiKH (ecjra, KOHenHO, bbi He Hcnojib3yeTe
HMeHHo Gentoo), a Taicace Boobme o6ohthcb 6e3 Hcnojn>30Ba-
hhh HexoTopbix KOH(J)HrypaitHOHHbix cjiaHJiOB, BnHcaB acejiae-
Moe npHMO b CKpnnTbi.
nojie3HO 6yfleT nporaaTb Ha CBoeii ManiHHe bootchartd h
BblHBHTb y3KHe MeCTa, KOTOpbie T0pM03HT 3arpy3Ky CHCTeMbI,
nocjie nero 3aHHTbcn hx ycTpaHeHHeM. KaK roBapHBaji PnHapfl
CTOJiJiMeH, «cnacTjiHBoro xaxa!» |
CaMOCTOATe^bHan pa6oTa
Eme dbidpee?
Hio6bi a o6wTbCfl eme 6ojiee
BbICOKOH CKOpOCTM 3arpy3KH,
mojkho nepenucaib CKpnnTbi
InitNG nnn CBoen KOH(|)Hrypa-
Ahh. Ecjih 3to Aono/iHMTb nepe-
KOMnn/iBitnen BApa n otk330m
ot coldplug (Bee BeAb ywe b
BApe?), TO MO>KHO COKpaTMTb
BpeMB 3arpy3KM eute b nojiTopa-
ABa pa3a — B3r/iBHme Ha eute
OAHy KapTMHy 3arpy3KH cncre-
Mbi. MauiHHa no-npe>KHeMy Ta
we, cepBiicbi no-npe>KHeMy
Te we, OAHaKO BpeMB — ywe
Bcero /iHiub 18 cenyHA!
HaAO OTMeTHTb, mto 3a MepTOM
ABdAAaTH cenyHA pe3yjibTaTbi
3arpy30K AOBOJlbHO CHJlbHO
BdpbHpytOTCB (MHHHMyM,
KOToporo yAaBa/iocb AOCTHMb
Ha TeCTOBOH MdLLlHHe —
17 cenyHA). HanpHMep, 3a-
AepwaBiiiHHCB OTBeT cepBepa
Ha DHCP-3anpoc MOweT 3anpo-
cto HSMeHHTb BpeMB 3arpy3KH
Ha HecKO/ibKO cenyHA, npnqeM
eute Bonpoc — b nanyio cropo-
Hy, nocKO/ibny bootchart cmh-
TaeT OKOHMaHHeM 3arpy3KH
no/iHoiteHHbiH rpac(DHMecKHH
jiothh. KcTaTH, bootchart b Ta-
koh KOH(|)HrypaitHH ywe Towe
HawHHaeT MemaTb cepencaM,
h caM ycneBaeT 3anycTHTb mo-
HHTopHHr npoiteccopa/AHcna
TOilbKO TOTAa, KOTAa nO/IOBHHd
Ae/ia ywe CAe/iaHa.
Tanwe ct3hobhtcb OMeBHAHbiM
to, mto AaubHenuiee conpaute-
HHe BpeMeHH 33 bhcht b nep-
Byio OMepeAb ot BHHMecTepa h
cjiaHnoBOH CHCTeMbi, nocKOiib-
Ky y3KHM MeCTOM CT3H0BHTCB
BBOA/BbIBOA — OH HyweH BCeM
CTapTyioutHM AOMOHaM, h na-
pa/uie/ibHbiH 3anycK 3Aecb mo-
weT Aawe MemaTb.
C Mero HawaTb xaKHHr CKpnnTOB
InitNG? B nepeyio owepeAb 06
3tom paccnaweT bootchartd, ho
bot HenoTopbie o6utHe peno-
MeHAaitHH:
► HaMHHTe c onTHMH3aitHH ca-
Mbix nepBbix CKpnnTOB, 3anyc-
KaioutHxcn npn CTapTe, mx 3a-
BepmeHHB WAyT Bee.
► Tpe3B0 OlteHHBdHTe, AGMCT-
BHTe/lbHO JIH CepBHC He MOWeT
WHTb 6e3 CeTH.
► Pa36epHTecb, HywHo jih eMy
AOWHAdTbCB, KOTAa CMOHTHpy-
lOTCB Bee (|}aHJ10Bbie CHCTeMbi
KpOMe KOpHeBOH.
► flepeHAHTe Ha wypHajinpye-
Mbie 0C h H36aBbTe ce6n ot
mountroot.
► He CTecHBHTecb H3yMaTb
CKpnnTbi-o6epTKH p,nn aanycna
pasHbix cepBHCOB h CKpnnTbi Ha-
ctpohkh ceTH Bauiero AHCTpn6y-
THBa. 3aTeM noAyManTe, HywHO
jih BaM Bee 3 to, h He npoute jih
H anncaTb hx caMHM pj\5\ CBoen
CHCTeMbi h KOHcfjHrypaitHH?
4/2005 LINUX CHIP
62
advanced f m o n a c h o c t b
fleHMC KojIMCHMMeHKO
B npow/ioM BbinycKe wypHajia paccKa3biBa/iocb o cucTeMax ynpaB/ieHMn
flocTynoM b o6meM, a KpoMe Toro, 6bma noflpo6Ho paccMOTpeHa oflHa
M3 caMbix nonyjiapHbix CMdeM — Grsecurity. B stot pa3 Mbi noroBopMM
o He MeHee MHTepecHOM nporpaMMHOM npoflyicre, KOTopbin Ha3biBaeiai
LIDS (Linux Intrusion Detection System).
M3HaHajibHO LIDS 3aayMbiBajiacb xax npocTan cncTeMa o6Hapy>Ke-
HHH BTOpXeHHH, HO C TO^aMH 6jiarOaapH yCHJIHHM pa3pa60THHK0B eft
yaajiocb BbipacTH b KOMiuieKCHbift MexaHH3M odecneueHHH 6e3onac-
hocth Linux-ManiHHbi. Ceftuac mo>kho c yBepeHHOCTbio 3aaBHTb, hto
LIDS yxce aocmraa ypOBHH Grsecurity, a b xoe b ueM aaace npeB3om-
jia ee. IIpeHMymecTBOM BTOpoft BepCHH LIDS HBjiHeTCH noaaepxoca
LSM (3arpy>xaeMbix Moayjieft 6e3onacHOCTH), KOTOpoft He 6bljio b
npeabiayianx Bepcirax, h oto odcTOHTejTbCTBO aejiaao ycTaHOBKy chc-
TeMbi h pa6oTy c Heft BecbMa 3aTpyaH HTeji bH bi m MeponpHHTHeM.
| YCTdHOBKd |
LIDS peajiH30BaHa kuk nam napa h Ha6op nojib30BaTejibCKHx
yTKJiHT, 3arpy3HTb KOTOpbie moxho c caftTa, pacnojioxeHHoro no
aapecy www.lids.org/download.html. B OTjiHUHe ot apyrnx npoex-
TOB, naTHH KOTOpbIX nOaXOaHT TOJIbKO K KaKOft-JIH6o KOHKpeTHOft
BepCHH napa, namn LIDS noaxoanT arm Bcex Bepcnft 2.4.x h 2.6.x,
nosTOMy aaHHan cncTeMa cnocodHa padoTaTb c jho6bim napOM.
KoHcjaiirypiipoBaHMe jiflpa
PacnaKyftTe apxHB c LIDS, nepeftanre b KaTajior aapa h npHMeHH-
Te cjieayioiuHft nam:
# cd /usr/src
# wget http://www.lids.Org/download/v2.6/2.6. 7/lids-2.2.0rc3-
2.6.7. tar.gz
# tar -zxvf lids-2.2.0rc3-2.6.7.tar.gz
# cd linux-2.6.7
# patch -pi < /usr/src/lids-2.2.0rc3-2.6.7/lids-2.2.0rc3-
2.6.7. patch
Ilocjie 3Toro moxcho npHCTynaTb k KOH(j)HrypaaHH napa. LIDS
TpedyeT bkjhohhtb noaaepxcxy ajiropHma SHA256. CooTBeTCTBy-
loiayio onaHio moxcho HaftTH b mchk) « Cryptography Options/
Cryptography API». Onann KOH^nrypaitHH LIDS HaxoanTcn b
pa3aejie « Security Options». )KejiaTejibHo otkjhohhtb SELinux h
Capabilities.
PaccMOTpHM omiHH LIDS:
Attempt Not to Flood Logs (CONFIG_LIDS_NO_LOOD_LOG).
aHHan onann orpaHHUHBaeT uacTOTy npOTOKOJiHpOBaHHH naeH-
THHHblX COOdmeHHft.
Allow Switching the LFS and States (CONFIG_LIDS_
ALLOW_SWITCH). LFS (LIDS-free session, o Heft mbi noro-
bophm uyrb no33ce) no3BOJineT aaMHHHCTpaTOpy BbinojiHHTb ko-
MaHabi 6e3 KaKHx-jiHdo orpaHHueHHft co CTOpOHbi LIDS. 3to ao-
BOJIbHO nOJie3HO, HO M03KCT CTaTb HCTOHHHKOM arm aTaKH Bameft
CHCTeMbi. PexoMeHayeM aKTHBHpoBaTb 3Ty onamo Ha nepBbie He-
ckojibko aneft — noxa bbi 3KcnepHMeHTHpyeTe c LIDS, a noTOM,
Koraa Bee 6yaeT HacTpoeHO, moxho ee cnoxoftHO otkjhohhtb.
CHIP LINUX 4/2005
c m c t e m a LIDS
63
Allow Switch Off the Linux Free Session (CONFIG_LIDS_
ALLOW_LFS). Il03B0JIHeT OTXJHOHHTB LIDS BO BpeMH BBinOJIHe-
hhh chctcmbi. Tax 6e3onacHee.
Restrict Mode Switching to Special Terminals (CONFIG_
LIDS_RESTRICT_MODE_SWITCH). no3BOjraeT 3aflaBaTB Tep-
MHHajibi, c KOTOptix pa3peinaeTCH LFS. Ohh acrmrcn Ha TpH xjiac-
ca: kohcojib (console), nocjieaoBaTejiBHan kohcojib (serial console)
h PTY. TpeTHH — Han6ojiee onacHBiH, nocKOJiBKy aaeT bo 3 mox-
hoctb 3JioyMBimjieHHHKy yaajiemio 3anycTHTB LFS. Bbi6epHTe
TOJibKO nepBbin Kjiacc, no3BOJiHioiaHH 3anycxaTb LFS jihuib nojib-
30BaTejiHM, (J)H3HnecKH pa6oTaiomHM c ManiHHOH.
| lidstools |
flocjie KOMnHjnmHH napa moxho ycTaHOBHTb naxeT lidstools. Cne-
HapHio ./configure HeodxoaHMO hbho nepeaaTB xaTajior Ha pa:
$ tar -zvxf lidstools-2.2.5
$ cd lidstools-2.2.5rcl.tar.gz
$ ./configure KERNEL_DIR=/usr/src/linux-2.6.7
$ make
$ su
# make install
IXpH ycTaHOBKe nporpaMMbi (make install) Bac nonpocnr BBecTH
napojib arm aaMHHHCTpnpOBaHHH LIDS — oh He aornxeH coBna-
AaTb c napojieM root!
Hrodbi Hcnojib30BaTb HOBoe napo, HyxHO nepe3arpy3HTb CHCTe-
My. Ecjih HeodxoauMO otxjhohhtb LIDS, nepea 3 arpy 3 xon cncTe-
mbi nepeaaifre napy napaMeTpbi security=0.
AflMMHMCTpiipOBaHMe LIDS
IIocKOJibKy KOH(j)HrypHpOBaHHe napa mbi yace paccMOTpejin, 3 an-
MeMcn KOH<J)HrypHpOBaHHeM nojib30BaTejibCKoro ypOBHH. Kax h
G rsecurity, LIDS no 3 BOJineT onpeaejiHTb, xaxuM o6pa30M (jiaujibi
h npoaeccbi 6 yayr B 3 aHMoacHCTBOBaTB Mencay co 6 oh b CHCTeMe.
KpOMe 3 Toro LIDS HMeeT ane oueHB nojie 3 Hbie (JiyHXLiHH — LFS
h «oneuaTbiBaHHe» napa (sealing the kernel).
3arpy)KaeMbie MoayJiH oueHB nojie3Hbi, Tax xax no3BOJunoT ao-
6aBjiHTb xoa bo BpeMH BbinojiHeHHH napa 6e3 ero nepexoMniuiH-
aHH. C apyroft CTOpOHbi, 3JioyMbiniJieHHHx moxcct aodaBHTb b napo
cboh codcTBeHHbie MoayJiH, a arm Hac 3 to oueHB HencejiaTejiBHO.
KoHeuHO, caMoe jiyumee — bxjiiouhtb Becb HeodxoaHMBiii xoa b
cocTaB napa h Boodiae otxjhohhtb noaaepncxy 3arppxaeMbix Moay-
jieii, ho Bpna jih 3to peinemie oxanceTCH arm Bac yaodHBiM.
LIDS npeaJiaraeT xoHaemiHio «onenaTBiBaHHH» napa. Ecjih hh-
po «oneuaTaHO», hhxto He MonceT 3arpy3HTb hjih Bbirpy3HTb mo-
ayjib. CaejiaTb 3 to moxho c noMoiabio xoMaHati lidsadm -I. Ee He-
OdxOaHMO nOMeCTHTB B CaeHapHH 3arpy3XH CHCTeMbi, tojibxo npn
3 tom ydeanrecb, hto 6 bi eiae ao Hauajia BBinojiHeHHH 3 toh xoMaH-
abi Bee HeodxoauMbie Moayrm 6 bijih ynce 3arpyaceHBi. «OneuaTBiBa-
HHe» nap a Taxace npeaycMaipHBaeT HexoTOpbie orpaHHueHHH Ha-
6 opa B03M0HCH0CTeH, HO 06 3TOM MBI noroBOpHM UyTB no3Hce.
| LFS (LIDS-free Sessions) —
ceccnn 6e3 LIDS
LFS — 3 to Bcero jihihb odojionxa, Ha BBinojiHeHne xoMaHa xoto-
pOH He HaxjiaaBiBaiOTCH orpaHHueHHH LIDS, hto no 3 BOJiHeT aaMH-
HHCTpaTOpy padoTaTB b CHCTeMe xax o6bihho, 6e3 BbixjuoueHHH oc-
hobhoh CHCTeMbi 6e3onacHOCTH, BeaB xoraa LIDS Bx/noneHa, or-
paHHueHHH HaxjiaaBiBaiOTCH nance Ha nojiB30BaTejiH root. OaHaxo
LFS noTeHiinajiBHO onacHa: ecjin 3JioyMBimjieHHHxy yaacTcn 3a-
BjiaaeTB aocTynoM x Hen, to oh nojiyuHT nojiHBiH xohtpojib Haa
CHCTeMOH — BnjIOTB aO OTXJHOUeHHH LIDS.
/locTyn x LFS peryjmpyeTCH ycTaHOBjieHHBiM paHee napojieM. /(o-
nojiHHTejiBHO npn xomfuirypamiH napa mohcho yxa3aTB TepMHHajibi,
c xoTOpbix aociyn x LFS 6yaeT otxpbit (onenb xopomee pemeHHe).
TjiaBHoe Ha3HaneHHe LFS — pa3pemHTB aaMHHHCTpaTopy pe-
aaxTHpOBaTB (jianjibi b xaTajiore /etc/lids, xoTOpbiii HeaocTyneH bo
BpeMH padoTBi LIDS nance nojiB30BaTejno root. B 3tom xaTajiore
HaxoaHTCH cjieayioiane cjiaHjiBi:
► lids. cap — orpaHHueHHbiH Hadop B03MoncHOCTen;
► lids.conf — ACL (6yaeT paccMOTpeH no3nce);
► lids.pw — napojib aaMHHHCTpaTopa LIDS;
► lids.ini — HauajiBHBie xoHcjiHrypaaHOHHBie 3HaueHHH.
| lidsadm |
AaMHHHCTpHpOBaHHe LIDS BBinojiHHeTCH nporpaMMOH lidsadm.
PaccMOTpHM noapodHee ee onpHH:
► -P — 3amn(J)pOBaTB napojib LIDS, HanpHMep lidsadm -P mypass-
word;
► -S — H3MeHHTB acnexT 3ain,HTBi LIDS;
► -I — «onenaTaTB» napo; arm otoh onunn He Hyxcen napojib;
► -V — npOCMOTp COCTOHHHH CHCTeMbi;
► -h — BBiBecTH xpaTxyio cnpaBxy;
► -v — BBiBecTH BepcHio lidsadm.
OniiHH -S HcnojiB3yeTCH BMecTe c oaHHM H3 cjieayiontHx (J)jia-
tob, npeaBapneMbix jih6o 3HaxoM «+» — bxjhohhtb, jih6o «-» —
bbixjhohhtb:
► LIDS_GLOBAL — BXjiiOHHTb/BbixjiiOHHTb LIDS rjiodajibHo;
► RELOAD CONF — nepe3arpy3HTb (jianji lids.conf h o6hobhtb
cnncox 3amHineHHbix HHoaoB (06 3 tom mbi noroBOpHM uyrb no3>xe) ;
► LIDS — BXJIIOHHTb/ BBIXJIIOHHTb LIDS JIOXaJIBHO, TO eCTb C03aaTb
LFS, xoTOpan dyaeT npHMeHem tojibxo x Texymeii odojionxe;
► ACL_DISCOVERY — HcnojiB3yeTCH arm OTjiaaxn; xoraa bxjiio-
neHa, HapymeHHH npaBHji He 3anpemaiOTCH;
► SHUTDOWN — nepexjHonaeTCH b cocTOHHHe shutwodn.
HanpHMep, uto6bi bohth b LFS, BBinojiHHTe HHJxenpHBeaeH-
Hy K) xoMaHay:
# lidsadm -S - -LIDS
Hto6bi bbixjhohhtb 3amHTy LIDS, npoaejiaHTe cjieayiomee:
# lidsadm -S - -LIDS_GLOBAL
ACL (|)aMJ 10 B M B03M0>KH0CTeM
ACL HcnojiB3yeTCH arm ynpaBjieHHH aocTynoM x pa3JiHUHbiM odbex-
TaM, HanpHMep cjianjiaM hjih pecypcaM (ho b OTjumne ot Grsecurity
b LIDS HeT pojien). B CHCTeMe LIDS ecTB ACL aeyx thhob: ACL
(jianjTOB (xoHTpojinpyeT aocTyn x cjianjiaM h xaTajioraM) h ACL B03-
MOHCHOCTen (peryjiHpyeT bo3mohchocth hchojihhmbix (jiaujiOB).
| ACL cpaii/iOB |
LIDS onpeaermeT neTBipe pencHMa arm odbexTOB:
► DENY. /JocTyn x (J)aHJiy 3anpemeH. npn odpaiaeHHH x HeMy
4/2005 LINUX CHIP
64
advanced de3onacHOCTb
npnaoaceHHH (HanpHMep, Is nan cat) dyaeT noayneHO coodiaemie
06 onmdKe «No such file or directory (ENOET)» — «HeT Taxoro
(J)aHJia hjih KaTajiora». BHenme 3to dyaeT BbiranaeTb Tax, KaK dya-
to (jianjia Boodiae He cymecTByeT.
► READ. OdbeKT MoaceT 6bitb otkpbit b peacHMe «tojibko aaa HTe-
hhh», 3anncB 3anpemeHa.
► APPEND. OdbeKT MoaceT 6bitb otkpbit aaa uTeHHH hjih aodaBae-
HHH HH(jDOpMau:HH. flaHHBIH peaCHM yaodHO HCn0JIB30BaTB RJW
(J)anjiOB acypHaaoB.
► WRITE. HreHne h 3anncB He orpaHHueHBi. LIDS He 3amHiaaeT
3tot 4>aiiji.
flaHHBie pejKHMBi Moryr 6bitb 3aaaHbi KaK jxim (Jjanaa, TaK h jxim
KaTajiora. Ecjih peacHM Hcnoab3yeTCH jura KaTajiora, to oh dyaeT
npHMepeH ko BceM cjiaHaaM, BxoamaHM b 3tot KaTajior.
B LIDS ACL onncbiBaeTCH caeayionjHM o 6 pa 30 M:
<THn ACL> <cy6beKT> <odbeKT> <aocTyn> <iiacaeaoBaHHe>
Tnn ACL onpeaejiaeT, Ha KaKoii CTaann padoTbi dyaeT kohtpo-
jiHpOBaTbCH aocTyn k CHCTeMe. /JoerynHO uerape THna:
► BOOT. flocTyn dyaeT ko h T p o jt h p o b aTbcn Ha CTaann 3arpy3KH.
► POSTBOOT. Ilocjie 3arpy3KH.
► SHUTDOWN. npH pa3rpy3Ke CHCTeMbi.
► null. KoHTpojib aocTyna BHe 3aBHCHMOCTH ot CTaann padoTbi.
06bihho Tnn ACL npocTO He yKa3biBaeTca (null) — oto aeaaeTca
AJin nocTOHHHoro KOHTpojin, a nepBbie TpH THna Hcnoab3yiOTCH aaa
ocjiadjieHHH onpeaeaeHHbix orpaHHneHHH.
CydbeKT — 3 to npHaoacemie, KOTOpOMy npeaocTaBaaeTCH ao-
CTyn (peacHMbi aocTyna onncaHH Bbirne) k odbeKTy — (Jianjiy hjih
K aTajiory. nocaeaHee nojie, <HacaeaoBaHHe>, onpeaeanei; dyaeT
jih ACL HacjieAOBaTbCH aonepHHMH npoijeccaMH hjih HeT, hmo-
aceT npHHHMaTb 3HaueHHH 0, 1 h -1.
OdbeKT h cydbeKT TecHo CBH3aHbi apyr c apyroM. HanpHMep,
cydbeKTy /usr/bin/sshd (aeMOHy SSH) TpedyeTca aocTyn k odbeKTy
/var/run/sshd.pid. Bbi onpeaejiaeTe aocTyn, HanpHMep WRITE. Ho
bbi aojiacHbi noHHMaTb, HTO aamioe npaBHjio onpeaejraeT aocTyn
tojibko aaHHoro cydbeKTa k KOHKpeTHOMy odbeKTy, oho HHKaK He
othochtch k apyrnM cydbeKTaM. Ecjih ace nojie <cydbeKT> nycTO
(to ecTb cydbeKT He yKa3aH), to aaHHbiH peacHM aocTyna npHMeim-
eTca k odbeKTy rjw jnodoro cydbeKTa (to ecTb jnodoro npoaecca).
MHorae npiuioaceHHH (ocodeHHO shell-caeHapHH) bo BpeMH bbi-
nojiHeHHH Bbi3biBaiOT apyrne nporpaMMbi, h 3to odimTeabHO Hyac-
ho yuHTbiBaTb npH pa3padoTKe ACL. no yMOJiuaHHio HacaeaoBaHne
BbiKjnoneHO, h flouepHne npoaeccbi He HacaeayiOT peacHMbi aocTy-
na, onpeaeaeHHbie jura poanreabCKoro npouecca. TaKOH peacHM pa-
doTbi MoaceT CTaTb HacToauien tojiobhoh dojibio jijih aa m h h h ctp aTO -
pa — eMy npHaeTca ycTaHaBjiHBaTb peacHM aocTyna jura Kaacaoro
npoijecca, Bbi3biBaeMoro caeHapneM. HacaeaoBaHne MoacHO bkjho-
uhtb, ycTaHOBHB 3HaneHHe 1 b nojie <HacaeaoBaHne>: 3to TaK Ha-
3biBaeMbiH HepeKypCHBHbiH peacHM HacaenoBaHua, to ecTb peacHM
aocTyna dyaeT yHacaeaoBaH tojibko non ep hum npoaeccoM. Lean ace
bbi xoTHTe, HTodbi peacHM aocTyna dbui yHacaeaoBaH He ToabKO ao-
nepHHM npoueccoM, ho h bccmh ero noTOMKaMH, ycTaHOBHTe peKyp-
chbhbih peacHM — 3HaneHHe -1 rjw nojia < HacaeaoBaHne >.
ACL xpaHaTca b (Jjauae /etc/lids/lisd.conf. Otkpbib ero, bbi
yBHanTe, hto npaBnaa 3anncaHbi b HenoHHTHOM jijm ueaoBeKa bh-
ae. Ho BaM He HyacHO peaaKTHpOBaTb 3tot 4>ana BpyaHyio — rjw
3toto cymecTByeT yraanTa lidsconf. Ho npeacae aeM mbi nepenaeM
k ee paccMOTpeHHio, Bce-TaKH HeodxoaHMO noHaTb, hto 03HanaiOT
Bee 3 th nncaa:
0:0::l:0:1114128:834:/sbin:0-0
0:0::l:0:1933326:834:/bin:0-0
ACL CHCTeMbi LIDS coaepacHT HOMepa HHoaoB BMecTO hmch
( jianaoB — HanpHMep, ecan mbi ycTaHOBHM peacHM APPEND jijvi
/var/log/messages, LIDS coxpaHHT b ACL HOMep HHoaa 3 toto 4>aH-
aa. 3 to no3Boanr doaee acecTKO KOHTpoanpOBaTb aocTyn k (J)aHay,
Beab hmh HHnero He 03HauaeT, raaBHoe — HHoa: MoacHO yaaaHTb
cjiaua c HMeHeM /var/log/messages h 3aHOBO co3aaTb cjiaua c TeM ace
HMeHeM. npn 3 tom HMa He H3MeHHTca, a HHoa — aa.
| lidsconf |
HauHHaa co btopoh Bepcnn a^m aaMHHHCTpnpOBaHHa h koh(J)h-
rypnpOBaHHa LIDS Hcnoab3yiOTca aae pa3Hbie yTHaHTbi. Ythhh-
Ty aaMHHHCTpHpOBaHHa — lidsadm — mbi yace paccMOTpean. Oc-
Taaocb HecaeaoBaTb ymaHTy KOH(J)HrypHpOBaHHa — lidsconf.
Hnace npHBeaeHbi ee Handoaee BaacHbie onu;HH:
► -A, —add. flodaBHTb 3anncb.
► -C, --check. npoBepHTb cymecTByioiaHe aanncn.
► -D, --delete. YaaaHTb 3anncb.
► -Z, --zero. YaaaHTb Bee 3anncH.
► -U, --update. OdHOBHTB /dev h HOMepa HHoaoB.
► -L, --list. BbiBecm Bee 3anncH.
CaeayiomHH npHMep noKa3biBaeT ACL no yMoanaHHio, koto-
pbiH nocTaBjiaeTca BMecTe lidstools-2.2.5rcl (aJia yaodcTBa mbi ao-
daBHan b ancTHHr HOMepa ctpok):
# lidsconf -L
Subject
ACCESS
inherit
Object
1)
Any file
READONLY:
0
/sbin
2)
Any file
READONLY:
0
/bin
3)
Any file
READONLY:
0
/boot
4)
Any file
READONLY:
0
/lib
5)
Any file
READONLY:
0
/usr
6)
Any file
READONLY:
0
/etc
7)
Any file
DENY:
0
/etc/lids
8)
Any file
DENY:
0
/etc/shadow
9)
Any file
APPEND:
0
/var/log
10)
Any file
WRITE:
0
/var/log/wtmp
11)
/bin/login READONLY:
0
/etc/shadow
12)
/bin/login GRANT:
0
CAP_SETUID
CHIP LINUX 4/2005
c m c t e m a LIDS
65
13 )/usr/sbin/sshd GRANT: 0 CAP_NET_ADMIN
14) /bin/login GRANT: 0 CAP_GETID
Ecjih HecKOJibKO npaBHji npnMeHHMLi k OAHOMy o 6 beKTy, by-
AeT Hcnojib 30 BaHO caMoe nocjieflHee H 3 hhx. Jlynrne Bcero 3 to
mOvKho npofleMOHCTpHpOBaTb Ha npHMepe KaTajiora /etc, kotoplih
yxa 3 aH b npaBHjiax 6 , 7, 8 h 11. Cmnajia /etc obbUBjineTCH KaK
READONLY (tojilko HTeHne), 3 aTeM o 6 beKTbi /etc/lids h
/ etc/shadow AeJiaiOTcn HeBHAHMbiMH (DENY). IlocKOJibKy cybb-
eKT He yxa 3 aH (Any file — «jho 6 oh (])aHJi>>), to orpaHHneHHe npHMe-
HneTCB k jnoboMy npoueccy. A b CTpoxe 1 1 READONLY Aociyn k
cjiaHJiy /etc/shadow npeAOCTaBjraeTcn tojilko cybbeicry /bin/login.
/(jin AodaBjieHHH hoblix 3 anHcen HcnojiL 3 yeTC 5 i onuHH -A npo-
rpaMMbi lidsconf:
lidsconf -A [ran ACL] [-s cybbeKT] -o obbeKT [-t c-no]
[-i ypoBeHb] -j AencTBne
KaK BHflHTe, 06 iI 3 aTeJIbHbIMH B 3 TOM CJiyHae HBJIHIOTCH TOJILKO
onuHH A, o h j:
lidsconf -A -o /etc/hosts.conf -j READ
Bee omiHH HaM nommibi, KpOMe pa 3 Be hto [-t c-no]. Om no 3 BO-
juieT ycTaHOBHTb BpeMH fleHCTBHH npaBiuia, KOTOpoe o 6 biHHo yKa 3 bi-
BaeTCH b (jiopMaTe HHMM-HHMM. HanpHMep, hto 6 li npaBHjio
AeiiCTBOBajio c 8:00 no 19:35, Hcnojib 3 yHTe cjie^yiomyio onunK):
-t 0800-1935.
/[jih yaajieHHH 3 anncH Hcnojib 3 yeTCn CHHTaKcnc:
lidsconf -D [ran ACL] [-s cybbeKT] [-o obbeKT]
Mli MOxceM yKa 3 aTb cybbeKT h/hjih obbeKT — byayr y^ajieHbi
Bee coBna^aiomne npaBiuia. Mojkho TaKace obo 3 HaHHTL h ran
ACL, HanpHMep POSTBOOT.
| B03M0>KH0CTM |
B npe^HaymeM ACL, HaBepHoe, bli 3 aMeTnjin AencTBHe GRANT,
npe^ocTaBjunomee bo 3 mo:»choctl CAP_SETUID, a hmchho hx mli
AO 3 toto n He paccMaTpHBajin, no 3 TOMy caMoe BpeMn npncTynnTb.
LIDS npeAOCTaBjineT pacmnpeHHoe ncnojib 30 BaHne bo 3 mox-
HOCTen (MOAyJiL B 03 MOJKHOCTen capability security module rojekqh
bbiTb OTKjnoneH b nApe). KpOMe CTaHAaprabix B 03 MOJKHOCTen
Linux cncTeMa LIDS npe^JiaraeT rbq cobcTBeHHbie:
► CAP_HIDDEN. npoueccbi c a^hhoh ycTaHOBjieHHOH bo 3 mox-
hoctlk) He byayr OTobpaxcaTbcn b /proc, hto no 3 BOJiHT CKpbiTb
npouecc ot nporpaMM ps, lsof n top;
► CAP_INIT_KILL. Ecjih 3Ta bo 3 mo 3 choctl BbiKjnoneHa aj ih Ae-
MOHa, to oh He byAeT nojiynara KILL-cnraajibi.
CAP_HIDDEN He rapanrapyeT, hto npouecc byAeT nojiHOCTbio
HeBHAHMbiM: HanpHMep, ceTeBon acmoh moxcho obmpyacHTL c no-
moialk) netstat hjih CKaHepa nopTOB, a Taioxe no Hajinumo cjiaHJia
/var/run/Ha3BaHne.pid.
A Tenepb nepenAeM k CAPINITKILL. PaccMOTpHM AepeBO
npoueccoB c noMoniLio pstree:
$ pstree -a
init)
|-atd)
l-(bdflush)
l-crond)
l-httpd)
I |-httpd)
I |-httpd)
I |-httpd)
I |-httpd)
|-(keventd)
l-(khubd)
l-(kjournald)
|-klogd) -x
B cjiynae c CAP_INIT_KILL acmoh onpeAejineTcn KaK npouecc,
hcxoahiahh HenocpeACTBeHHO ot Init (PID Init BcerAa paBeH 1).
K coxajieHHio, 3 to HeAOCTaTOK. IlocKOJibKy acmoh He MoxeT no-
jiynaTb cnraajibi, aAMHHHCTpaTOp He cyMeeT hh ocTaHOBHTb
(SIGKILL), hh nepe3arpy3HTb npouecc (SIGHUP). Ko BceMy npo-
neMy, HeKOTOpbie npoueccbi, HanpHMep Apache, KOTOpbie «obma-
K)TCH» CO CBOHMH «pOACTBeHHHKaMH» C nOMOLLIbK) CHTHaJIOB, He
CMoryr HOpMajibHO paboTara. Ecjih xce bli xoraTe Hcnojib30BaTb
CAP INIT KILL, nepBaa npobjieMa MOxeT bbiTb pemeHa c no-
moialk) LLS — OTCiOAa pa3pemeHO orapaBjiHTb npoueccaM enraa-
jili. A bot ajih pemeHHH BTOpon npobjieMbi bli aojckhli bkjiio-
hhtl CAP_INIT_KILL ajtb onpeAejieHHoro npouecca, HanpHMep
Apache. IIo-ApyroMy Tyr HHKaK Hejib3H.
LIDS HeMHoro MOAncjiHUHpyeT bo3mo3choctl CAP_BIND_
NET_SERVICE. ObbiHHO OHa BKjnoHaeTCH ajih npouecca, kotopo-
My HyxcHO «npHBH3aTbCH» k npHBHjierapOBaHHOMy nopTy (c HOMe-
pOM 0-1024). Ho LIDS pacninpueT ee CHHTaKcnc, no3BOJuiH yKa3bi-
Bara nopT hjih Anana30H nopTOB, k kotoplim pa3pemeHa npHBH3Ka
npou;ecca. HanpHMep, ajih Apache paHbine pa3pemajiacb npHBH3Ka
k jnoboMy npHBHjierapOBaHHOMy nopTy, a Tenepb mli MOxeM nerao
yKa3aTb, k KaKHM hmchho nopTaM pa3peinaeTcn npHBH3biBaTbcn
3TOMy cepBHcy — 80 n 443.
OrpaHimeHHbiM Ha6op B03M0>KH0CTeM
3to cnncoK B03MOXHOCTeH, AOCTynHbix (ho Heobn3aTejibHO ycTa-
HOBjieHHLix) npoueccy b cncTeMe. Ecjih Kanan-TO H3 hhx He 3Ha-
hhtch b AaHHOM cnHCKe, ee Hejib3H Ha3HanaTb npoueccy. CooTBeT-
CTBeHHO, ajih Ka^Aoro npouecca mojkho onpeAejinra cboh cnncKH
B03MOJKHOCTeH .
KoH(J)HrypauH 5 i LIDS no yMOJiuaHHio (/etc/lids.cap) pa 3 pemaeT
Bee bo3mo3chocth, 3a HCKjiioHeHHeM cjieuyioiuHx:
► CAP_SETPCAP. Bo3mo3choctl ycTaHaBjiHBaTb bo3mo3chocth
Apyroro npouecca.
► CAP_SYS_MODULE. Bo3mojkhoctl 3 arpy>xaTb h BbirpyacaTb
MOAyJin HApa.
► CAP_SYS_RAWIO. Bo3mOvKhoctl npHMoro BBOAa/ BLiBOAa, to
ecra AOCTyna k (jianjiaM /dev/port, /dev/mem, /dev/kmem, a Taioxe
npHMoro AOCTyna k AncxaM (HanpHMep, /de/hda).
► CAP_KILL_PROTECTED. Bo 3 moxchoctl «ybnBaTb» 3 aiumueH-
Hbie npoueccbi.
noMHHTe, hto X Window TpebyeT bo3mojkhocth
CAP_SYS_RAWIO. Ecjih BaM HyxHa 3Ta cncTeMa, ycTaHOBHTe
AaHHyio B03M0XCH0CTL Rjw HcnojiHHMoro (])ahjia X.
YCTaHOBKa M MOflMCjjMKaiJMfl
B03M0>KH0CTeM
YCTaHOBKa B03M0JKH0CTen npOH3BOAHTCH C nOMOIULK) BCe TOH xe
ynuinTbi lidsconf. CnHTaKcnc AobaBjieHHH bo3moxchocth — tot
4/2005 LINUX CHIP
66
advanced de3onacHOCTb
ace, hto h b cjiynae flobaBaenna npaBnaa aaa (j^anaa, tojibko aaa
pa3pemeHHH 3 toh bo3mo:>khocth HcnojiB3yeTC5i fleftcTBHe GRANT.
/JobaBHM B03M0acH0CTB 3anycKa X Window:
lidsconf -A -s /usr/Xll/bin/X -o CAP_SYS_RAWIO -j GRANT
B 3tom caynae HyacHO KOHKpeTHO yKa3BiBaTB cybBeKT npaBH-
jia — npou;ecc, KOTOpOMy pa3peinaeTca Ta nan HHaa B03Moac-
hoctb. B BBimenpHBeAeHHOM npHMepe mbi npefloCTaBaaeM bo 3-
MoacHOCTB npaMoro BBOfla/BBiBOfla CAP_SYS_RAWIO npoijeccy
/usr/Xll/bin/X.
A Tenept pa3peniHM Be6-cepBepy Apache npHBH3BiBaTBca k He-
npHBHjiempOBaHHOMy nopTy:
lidsconf -A -s /usr/sbin/httpd -o CAP_BIND_NET_SERVICE -j
GRANT
Eonee 6e3onacm>iM byfleT BapnaHT pa3pemeHHH npHBH3KH
Apache k nopTaM 80 n 443. CnHTaKcnc B03M0acH0CTH He npeaycMa-
TpHBaeT 3aaaHne eflHHHHHbix nopTOB, a tojibko flnana30H0B, no3TO-
My mbi byfleM HcnojiB30BaTB HyjieBBie flHana30HBi 80-80 h 443-443:
lidsconf -A -s /usr/sbin/httpd -o CAP_BIND_NET_SERVICE
80-80,443-443 -j GRANT
Taxace peKOMeHflyeM ycTaHOBHTB ajih Apache B03MoacHOCTB
CAPINITKILL, hto6bi oh mot «o6maTBca» co cbohmh noTOM-
KaMH (ho Apache — oto tojibko npHMep, He 3abBiBaifre h o flpyrax
cepBHcax, KOTOpBie HcnojiB3yiOT noflobHyio 4>opMy IPC!):
lidsconf -A -s /usr/sbin/apache -o CAP_INIT_KILL -j GRANT
| PeajiM3auMfi LIDS |
TenepB, Korfla mbi 3HaeM, KaK paboTaeT LIDS, h 3HaKOMBi c ee oc-
hobhbimh omiHHMH, MoacHO npHCTynaTB k ee npaKTHnecKOH pea-
jiH3a]3HH b Hameh CHCTeMe.
IIoMHHTe, hto pa3pa6oTKa ACL ajih bc eh chctcmbi — oneHB Tpyfl-
Haa h odBeMHaa 3aflana, no3TOMy mbi peKOMeHflyeM BaM C03flaTB
shell-cu;eHapHH, coflepacamHH bbbobbi lidsconf. IlepBOH KOMaHflon
byfleT aBjiHTBCH lidsconf -Z — 3Ta anpeKTHBa yflaaaeT Bee paHee
cymecTByioniHe ACL. /(amiBiH ciieHapnii HyacHO noMecTHTB b
/ etc/lids — 3 to caejiaeT ero He bhahmbim 3a npefleaaMH LFS-ceccHH.
3amma cMcreMHbix nporpaMM
Kaioie ace CHCTeMHBie (JiaiuiBi h KaTajiom TpebyiOT 3amnTBi LIDS?
3amHLLiaTB HyacHO coflepacHMoe /bin, /sbin, /lib, /usr/bin, /usr/lib h
/ usr/sbin. B 3th KaTajiom npOH3BOflHTcn ycTaHOBKa nporpaMMHO-
ro obecneneHHa, h, ecjin mbi cfleaaeM hx flocrynHbiMH tojibko jiji a
HTeHHa (READONLY), saoyMBiinaeHHHK He CMoaceT 3anncBiBaTB
TpoaHCKHe BepCHH CHCTeMHBix nporpaMM. Taicace He 3abyflBTe 3a-
iiihthtb KaTajiom /usr/local/bin h /usr/local/lib, ecan npHflepacn-
BaeTecB CTpaTem h ycTaHOBKH nporpaMM b /usr/local. Kohcmho,
npn ycTaHOBKe hoboh nporpaMMBi 3amHTa 3 thx KaTajioroB MoaceT
co3flaTB HeKOTOpBie Hey^obcTBa ajih aflMHHHCTpaTopa, ho noBepB-
Te, 3TO CTOHT TOTO.
/etc n /etc/shadow
KoHcjjHrypaHHOHHBie (Jjanabi — oto apyraa obaacTB 3ain,HTBi.
IIo^aBjiaiomee boaBiHHHCTBO 4)aHaoB b 3tom KaTajiore TpebyeT ao-
CTyn «tohbko flan HTeHHa», no3TOMy MoacHO CHaaaaa ycTaHOBHTB
fljia Bcero KaTaaora peacHM READONLY, a 3aTeM pa3peniHTB flo-
CTyn b peacHMe WRITE k KaKHM-TO OTfleaBHBiM c^aiiaaM — rao-
GaaBHO nan fljia onpefleaeHHBix cybBeKTOB.
Hanboaee BaacHBiMH (JianaaMH b KaTaaore /etc aBaaiOTca pass-
wd/passwd- h shadow/shadow-: bbi floaacHBi 3anpeTHTB BceM
cybBeKTaM flocTyn k shadow/shadow- (DENY), 3a HCKaioneHneM
cybBeKTOB /bin/login, su h /usr/sbin/sshd — hm noaaraeTca flo-
CTyn READONLY.
Ho mbi eme He ynan yraanTy /usr/bin/passwd. Eh HyaceH
WRITE-flocTyn k (Jianay /etc/shadow, HTobBi noaB30BaTeaB HMea
B03MOaCHOCTB H3MCHHTB CBOH napOHB. KOTfla OH CfleaaeT 3TO,
(j^aita /etc/shadow byfleT co3flaH 3aHOBO, a He npocTO moahc^hah-
pyeTca. B pe3yaBTaTe H3MeHHTca hhoa c^abaa, a nocKoaBKy LIDS
npHBB3BiBaeTcn k HHOflaM, to nocae ero H3MeHeHHH OHa yace
He byfleT 3aiflHiflaTB c^afta — BeflB hoboto HHOfla b «ba3e flaH-
hbix» LIDS He cymecTByeT. KpOMe toto, HyacHO npefloCTaBHTB
nporpaMMe passwd WRITE-flocTyn ko BceMy KaTaaory /etc, no-
CKoaBKy 3anncB 4>aiiaa — 3 to H3MeHeHHe KaTaaora. Ecan Ha Me-
CTe passwd byfleT OKcnaonr 3aoyMBiinaeHHHKa, oh CMoaceT noay-
hhtb flocTyn ko BceM (JmnaaM b KaTaaore /etc.
K coacaaeHHio, He cymecTByeT npocToro cnocoba pememni
3 toh npobaeMBi: bbi nan flOJiacHBi ncnoaB30BaTB aaBTepHaTHBHyio
cxeMy ayTeHTH(J)HKau;HH, HanpHMep LDAP, HTobBi 3anpeTHTB
noaB30BaTeaaM H3MeHHTB cboh napoan, nan otkpbitb WRITE -
flocTyn k / etc. CymecTByeT, npaBfla, eqe oahh cnocob, caMBiii be-
3onacHBiH, ho oneHB HeyflobHBin fljia aflMHHHCTpaTOpa. Bbi 3a-
npemaeTe WRITE-flocTyn k /etc, a flan toto HTobBi H3MeHHTB
cboh naponB, noaB30BaTeaB floaaceH byfleT obpaTHTBca Henocpefl-
CTBeHHO k BaM. Bbi CMoaceTe H3MeHHTB ero napoaB b LFS-ceccHH,
a 3aoflHO h npoBepHTe ero Ha «ctohkoctb». TaKOH BapnaHT npn-
eMaeM, ecan noaB30BaTeaeii y Bac HeMHoro — ao 10 neaoBeK.
YnHTBiBaa to, hto napoan ohh mchhiot He chhihkom nacTO, pa3-
ApaxaTB 3 to Bac ocobo He byfleT. A bot ecan noaB30BaTeaeii 200...
Ecan obecneneHne noaHOH 3aiflHTBi KaTaaora /etc flan Bac
canniKOM caoacHO, HyacHO obecnenHTB xoth Obi 3aiflHTy Kaione-
npeflbicTopufl TexHo/iornn
MoAynH 3amMTbi (LSM)
Bee HaMMHanocb c paspaboTKM
pa3JiMMHbix cwcTeM ynpaBne-
Hi/in AOCTynoM, KOTopbie pea-
n 30 Bbi Ban cb b Biifle namew
nApa Linux. Ho b pe3ynbTaie
M3-3a OTcyTCTBun ueHTpanu-
30BaHHOM KOopAMHauuu no-
nywunocb, mo xa>KAbm npo-
eKT 3aiAMTbi MMen cbom nam
Ann nApa, nacTO HecoBMecTM-
Mbm c ApyrMMM namaMM.
B npoinnoM JluHyc TopeanbAC
xaTeropuMecxu OTBepran Bee
3 tm namu, ho b 2001 roAy
b OTBeT Ha TexHonorwx)
SELinux, npeACTaBneHHyx)
NSA (AreHTCTBO nauinoHanb-
hom 6e3onacHOCTn) Ha Linux
Kernel Summit, oh 3anBMn,
mo Ann BxniOMeHMn b nApo
6yAeT paccMaipMBaTbcn 6o-
nee o6uinpHan cwcieMa 6e-
3onacHOCTM. Tax nonewnen
npoexT LSM (Linux Security
Modules). Ero uenb — npeAO-
CTaBMTb pa3pa6omnxaM CMC-
TeM aaiflHTbi o6iamm (eAHHbm)
HHTepcfieMC Ann peann3aunM
npoexTOB, ocHOBaHHbix Ha nA-
pe. 3 to no3Bonm yMeHbuiMTb
3aBHCHMOCTb OT HApa, KpOMe
Toro, He Hy>XHO 6yAeT ero
nepexoMnnnnpoBaTb, xax b
cnywae c namaivm. Bee LSM-
MOAynw ncnonb3yx)T CTaH-
A apTHbiw MHTepcf)eMic Ann B3a-
MMOAeMCTBMn C nApOM, XOTO-
pbm He 6yAeT M3MeHmbcn c
BbixoAOM cneAyioutero penwaa
(He Bepcmi) nA pa.
CHIP LINUX 4/2005
c m c t e m a LIDS
67
bbix (J)aHjiOB. HanSojiee BaxcHBiMH hbjihiotch KaTajiom /etc/rc.d
h /etc/rc.d/init.d.
Tenept nepenaeM k c^aiuiy /etc/lids/lids.cap. Kax yace 6bijio ot-
MeueHO, cjieayiomHe bo3moxhocth aojiacHBi 6bitb 3anpemeHBi:
► CAP_SYS_RAWIO. Bo3mOvKhoctl npHMoro BBoaa/BBiBoaa, to
ecTB aocTyna k c^anjiaM /dev/port, /dev/mem, /dev/kmem, a Taxace
npHMoro floCTyna k ^HCKaM (HanpHMep, /de/hda).
► CAP_SYS_PTRACE. B03M0XH0CTB TpaCCHpOBXH CHCTeMHBIX
BBI30B0B, npOH3BOAHMBIX npOIteCCOM.
► CAP_SETPCAP. Bo3mOvKhoctb ycTaHaBjiHBaTB bo3moxhocth
apyroro npoitecca.
► CAP_KILL_PROTECTED. Bo3mo3choctb «y6HBaTB» 3aiitHiiteH-
Htie npoiteccbi.
► CAP_SYS_MODULE. Bo3moxhoctb 3arpy>xaTb h BBirpyacaTB
MoayjiH nap a.
EaHHCTBeHHoe npHjicraceHHe, KOTOpoe TpedyeT nepByio bo3mohc-
HOCTB, — 3TO XI 1. fljIH BCeX OCTaJIBHBIX npHJKTaceHHH BCe 3TH B03-
MOvKHOCTH aOJOKHBI 6bITB OTXJHOUeHBI.
OnpeflejieHiie Tpe6yeMoro flocryna
Kax onpeaejiHTB, k xaxuM c£>aHJiaM h KaTajioraM HyxcHo o6pamaTbCH
TOMy HJIH HHOMy npHJIOHCeHHIO? OTCJieXCHBaTB CHCTeMHBie BBI30BBI
open(), chdir(), mkdir() h apyrne — aeJio HedjiaroaapHoe, ho BaM Bee
;ace HyacHO 6yaeT uepe3 3 to nponra. HeMHoro odjieruHTB 3aaauy no3-
BOJineT LIDS-FAQ, pacnojiaaceHHBiH no aapeey www.lids.org/fids-
faaq/lids-faq.html. TaM bbi HanaeTe ACL jsjm TaKHx npiuioxeHHH xax
login, su, MySQL, BIND, OpenSSH, Apache h apyrnx.
IIpH caMOCTOHTejiBHoii pa3pa6oTKe ACL ann npiuioxeHHH, xo-
Topoe bbi He BCTpeTHTe b LIDS-FAQ, nocjieaoBaTejiBHOCTB aeiicT-
bhh npH6jiH3HTejiBHo cjieayiomaH:
► IIpOBepBTe, k xaxHM (JiafijiaM h xaTajioraM HeodxoaHM aocTyn
aJiH 3 toto npHjioxeHHH. 3 to mohcho caejiaTB c noMOLUbK) p trace.
Kaioie 4)anjibi xoH(j)Hrypau;HH Hcnojib3yeT nporpaMMa? ByaeT jih
OH a 3anHCBiBaTB hto-to b /var/run?
► HyacHO jih npHjioxeHHio npHBH3BiBaTbCH k npHBHjiernpoBaHHO-
My nopTy? Ecjih aa, to a jih Hero HyacHO bxjhohhtb bo3mohchoctb
CAP BIND NET SERVICE, yxa3aB HeodxoaHMBie nopra.
npOBepHTB ACL npocTo: 3anycTHTe npiuioxeHHe npn bxjho-
neHHOH 3antHTe LIDS. Ecjih hto-to nonaeT He Tax, b /var/log/
messages hohbhtch cooTBeTCTByiomee coodmeHHe LIDS.
riptmep ACL Aflfl DNS-cepBepa
/JaBanre paccMOTpHM npHMep ACL, no3BOJiHiomHH DNS-cepBepy
padoTaTB Ha Hameii MamHHe. 3 tot ACL 6yaeT coctohtb H3 anyx
uacTeH. IlepBan uacTB coaepncHT odnjHH Ha6op npaBHji, npeao-
CTaBjiHiontHx 6a30BBiH aocTyn, — OHa noaonaeT He tojibxo ann
DNS-cepBepa, ho h apyrnx npHjioxeHHH, 3anynteHHbix b CHCTe-
Me Linux. Bo btopoh uacra 6yayr onncaHbi cneitHcjmuecxHe a jih
DNS-cepBepa npaBHjia, orpaHHUHBaiomHe aocTyn x (JiaHjiaM, a
Taxace onpeaejiHiontHe ero bo3mohchocth. Kax 6bijio OTMeueHO
paHee, Hadop npaBHji mbi npeacTaBHM b BHae shell- citeHapHH, co-
aepxantero cepmo xoMaHa lidsconf.
CnepBa HyncHO caejiaTB CHCTeMHBie HcnojiHHMbie (^afijibi h 6h6-
JIHOTeXH aOCTynHbIMH TOJIBXO a JIH HTeHHH. 060HTH 3T0 OTpaHHUe-
HHe MO>KHO TOJIBXO B LFS- 060 JI 0 HXe. HTaX, HaM HyaCHO 3aiUHTHTB
xaTajiorn /bin, /shin, /usr h /opt:
/sbin/lidsconf -A -o /bin -j READONLY
/sbin/lidsconf -A -o /sbin -j READONLY
/sbin/lidsconf -A -o /usr -j READONLY
/sbin/lidsconf -A -o /opt -j READONLY
Mbi He onpeaejnuiH cydbexr, no3TOMy yxa3aHHBie odbexTbi 6yayr
aocTynHBi tojibxo aJiH HTeHHH BceM npoiteccaM b CHCTeMe. He 3a6bi-
BaiiTe, hto ACL HacjieayeTCH, to ecTB aocTyn READONLY nojiynaT
Taicace h Bee noaxaTajiora aaHHBix xaTajioroB. Taioxe cjieayeT
noMHHTB, hto HacjieaoBaHHe He pacnpocTpaHHeTcn Ha noaMOH-
THpoBaHHBie (j}anjioBBie CHCTeMBi. HanpHMep, ecjin x /usr/local
noaMOHTHpOBaH apyroii pa3aeji, TO npaBHjia, npHMeHeHHBie x
/usr, He 6yayr pacnpocTpaHHTBCH Ha (JiaHjibi h xaTajiorn, Haxoan-
ntHecH Ha apyroM pa3aejie.
KpOMe 3thx xaTajioroB HaM HyacHO 3 amHTHTb Taxace /etc h /boot.
OaHaxo, xax 6bijio OTMeneHO paHee, npeaocTaBjieHHe aocTyna
READONLY x xaTajiory /etc aoBOJiBHO npodjieMaTHUHO, no3TOMy
mbi cxoHiteHTpnpyeMCH Ha 3antHTe ero xjnoneBBix c^aiuiOB, BeaB Ha-
h6ojibuihh HHTepec ann 3JioyMBimjieHHHxa npeacTaBjiniOT hmchho
ohh. HanpHMep, /etc/exports onpeaejineT sxcnopTHpyeMBie (Jianjio-
BBie CHCTeMBi, a H3MeHHB <J>aHJi /etc/resolv.conf, oh mohcct nepeHa-
npaBHTB 3anpocbi Hamero pe30JiBepa Ha cboh DNS-cepBep, xoto
pBiit 6yaeT BBiaaBaTB HenpaBHjiBHyio HHcjDopMaitHio.
/sbin/lidsconf -A -o /boot
-j READONLY
/sbin/lidsconf -A -o /etc/HOSTNAME
-j READONLY
/sbin/lidsconf -A -o /etc/apache
-j READONLY
/sbin/lidsconf -A -o /cron.daily
-j READONLY
/sbin/lidsconf -A -o /cron.hourly
-j READONLY
/sbin/lidsconf -A -o /cron.weekly
-j READONLY
/sbin/lidsconf -A -o /exports
-j READONLY
/sbin/lidsconf -A -o /hosts
-j READONLY
/sbin/lidsconf -A -o /hosts.allow
-j READONLY
/sbin/lidsconf -A -o /hosts.deny
-j READONLY
/sbin/lidsconf -A -o /hosts.equiv
-j READONLY
/sbin/lidsconf -A -o /identd.conf
-j READONLY
/sbin/lidsconf -A -o /ld.so.conf
-j READONLY
/sbin/lidsconf -A -o /login.access
-j READONLY
/sbin/lidsconf -A -o /login.defs
-j READONLY
/sbin/lidsconf -A -o /logrotate.conf
-j READONLY
/sbin/lidsconf -A -o /mail
-j READONLY
/sbin/lidsconf -A -o /modules.conf
-j READONLY
/sbin/lidsconf -A -o /named.conf
-j READONLY
/sbin/lidsconf -A -o /networks
-j READONLY
/sbin/lidsconf -A -o /ntp.conf
-j READONLY
4/2005 LINUX CHIP
68
advanced de3onacHOCTb
/sbin/lidsconf -A -o /resolv.conf -j READONLY
/sbin/lidsconf -A -o /rc.d -j READONLY
/sbin/lidsconf -A -o /services -j READONLY
/sbin/lidsconf -A -o /shells -j READONLY
/sbin/lidsconf -A -o /ssh -j READONLY
/sbin/lidsconf -A -o /sudoers -j READONLY
/sbin/lidsconf -A -o /sudoers.conf -j READONLY
/sbin/lidsconf -A -o /etc/ -j READONLY
B 3aBHCHMOCTH OT yCTaHOBJieHHBIX B CHCTeMe naKeTOB, B03M03C-
ho, npH^eTcn AodaBHTB h Apyrae (JiaftjiBi b 3tot cnncoK. Mbi xe
omicajiH Handojiee KpHTHUHBie H3 hhx.
TaiGKe He HyxcHO 3a6biBaTb npo c^aiuibi xypHajiOB, KOTOpbie Haxo-
AHTcn b KaTajiore /var/log. JS^m 6ojibniHHCTBa H3 hhx moxcho ycTaHo-
bhtb pexcHM APPEND, jsjm HeKOTOpbix — WRITE, ho tojibko jijih
cy6beKTOB login, init h halt bo3mo:skhbi jihihb cjiejiyiOLLiHe pexcHMbi:
/sbin/lidsconf -A -o /var/log -j APPEND
/sbin/lidsconf -A -s /bin/login -o /var/log/wtmp -j WRITE
/sbin/lidsconf -A -s /bin/login -o /var/log/lastlog -j WRITE
/sbin/lidsconf -A -s /sbin/init -o /var/log/wtmp -j WRITE
/sbin/lidsconf -A -s /sbin/init -o /var/log/lastlog -j WRITE
/sbin/lidsconf -A -s /sbin/halt -o /var/log/wtmp -j WRITE
/sbin/lidsconf -A -s /sbin/halt -o /var/log/lastlog -j WRITE
Ejiaroflapn 3thm orpaHHueHHHM 3JioyMbinuieHHHK, nojiyuHB-
hihh root-flocTyn, He dyaeT cnoco6eH OTpe^aKTHpOBaTB 3th
4>aHjibi, uto6bi CKpbiTb CBoe npHcyrcTBHe. He^ocTaTOK 3Toro
MeTO^a 3aKjHonaeTcn b tom, hto yTHjiHTa logrotate He CMO^ceT
6ojibine (})yHKu;HOHHpOBaTb, ho BceMy ecTb cboh ijeHa. Tenepb 3a
«y6opxy» HcypHajiOB OTBeuaeTe jihuho bbi — a^MHHHCTpaTop .
Hto6bi logrotate pa6oTajia, eh Hyaoio npefloCTaBHTB WRITE-
AOCTyn ko BceMy KaTajiory /var/log, ho mbi He pexoMeH^yeM
3Toro ^eJiaTb, nocKOJibKy 3JioyMbinuieHHHK MOxeT HauaTB 3any-
CKaTb logrotate mhoto pa3 noApmi; — tto Tex nop, noxa H3 ncyp-
Hajia He dy^yr y^ajieHBi cjiem>i ero npHcyrcTBHH. OTKjnouHTe
logrotate h «no t niCTHTe» xcypHajiBi BpyuHyio. Bo mhothx CHCTe-
Max logrotate Bbi3biBaeTcn a^mohom cron — hto6bi ototo He npo-
HCxoflHjio, HyxcHO yaajiHTB (J)aHji /etc/cron.daily/logrotate hjih
3aK0MMeHTHp0BaTb ero co^epHCHMoe.
Tenepb BepHeMcn k npaBiuiaM. HaM HyxcHO onpeflejiHTB, xax
named B3aHMO#eHCTByeT c cncTeMon; mbi aojhkhbi npeAyra^aTB Bee
(J)aHjTbi, aocTyn k kotopbim noHajiodHTCH np h jt o>xe h h k>, a TaiQKe
onpeAejiHTb bo3mojkhocth ototo caMoro npiuiOHceHHH. CnepBa 3a-
npeTHM AOCTyn ko Been c^aiuiOBOH cncTeMe:
/sbin/lidsconf -A -s /usr/sbin/named -o / -j DENY
BIND AOJDjceH nojiynHTb #ocTyn K (Jmiijiy KOH(J)Hrypau;HH
(/etc/named.conf), a Taxace 4 >aHjiaM 30hbi (KaTajior /var/named):
/sbin/lidsconf -A -s /usr/sbin/named -o /etc/named.conf -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o /var/named -j READ
Kax h jho6oh flpyroft ^eMOH, named 3anHCbiBaeT cboh PID b
(J) anji, pacnojioxeHHbiH b KaTajiore /var/run. 06 bihho oh Ha3biBa-
eTCH /var/run/named.pid. Mbi aojdkhbi pa3pemHTB npHJiOHceHHio
co3^aBaTB 4)ahji c TaKHM HMeHeM:
/sbin/lidsconf -A -s /usr/sbin/named -o /var/run/named.pid -j WRITE
Ha ^aHHBiH MOMeHT mbi no3a6oTHjiHCB 060 Bcex (jianjiax, koto-
pbie HyacHBi #eMOHy named. Tenepb Hy*no onpe^ejiHTB, Kaicne eMy
noHa^odiiTCH dHdjiHOTeKH. ototo mbi dyaeM HcnojiB 30 BaTB
nporpaMMy strace, KOTOpan OTodpa3HT Bee CHCTeMHbie bbbobbi, a
BMeCTe C HHMH H BHeiHHHe (j)aHJIBI. OnHHH -f He n03B0JIHeT npHJIO-
xeHHio nepehTH b (J)oh:
# strace -f -o named_tnice named
Bbi boh nporpaMMBi named dyneT 3anHcaH b 4>aiiji named_trace.
fleMOH named rojekqh nopadoTaTB hcckojibko uacoB, nocne ototo
3aBepmHTe npoijecc (named, a He strace!) h npoaHajiH3HpyHTe
4>aHji named_trace:
# cat named_trace | grep open
aHHan KOMaHna BbiBeneT Bee bbbobbi open() — bbi yBHHHTe He
tojibko (Jianjibi, 3a,aeHCTBOBaHHBie npHjioxeHHeM, ho h peacHMBi, b
KOTO pBIX OHH HCnOJIB3yiOTCH. Ha OCHOBaHHH 3TOTO CnHCKa MBI MO-
aceM cocTaBHTB cjienytonmH cnncoK npaBiui LIDS:
/sbin/lidsconf -A -s /usr/sbin/named -o / -j DENY
/sbin/lidsconf -A -s /usr/sbin/named -o /usr/lib -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o / lib -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o /usr/share/locale -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o /etc/ld.so.preload -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o /etc/ld.so.cache -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o /etc/localtime -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o /etc/rndc.key -j READ
/sbin/lidsconf -A -s /usr/sbin/named -o /var/log -j APPEND
/sbin/lidsconf -A -s /usr/sbin/named -o /dev/random -j READ
flaHHBih nepeneHB hcckojibko ynpomen, nocKOJibKy named
HcnojiB3yeT mhoto 6H6jiHOTeK b /usr/lib h /lib, ho npo me npe-
AOCTaBHTB READ-nocTyn k 3thm KaTajioraM, ueM nponHCBiBaTB
OTjiejibHO Kaxmyio 6H6jiHOTeKy.
Tenepb npramia onepeAB ycTaHOBKH B03M03CH0CTeh. npe^me
Bcero, pa3pemHM named npHBH3biBaTbCH k nopTy 53:
/sbin/lidsconf -s /usr/sbin/named -o CAP_NET_BIND_SER-
YICE 53-53 -j GRANT
npH 3anycKe named c onimeh -u <hmh nojiB30BaTejiH> oh chh-
xaeT cboh npHBHjierHH ypoBHn o6bihhoto nojiB30BaTejiH, yxa-
3aHHoro c noMom^io onu;HH u. nooTOMy HyxHO pa3pemHTB eMy
npOH3BOAHTB BBI30BBI SUID H SGID:
/sbin/lidsconf -s /usr/sbin/named -o CAP_SETUID 53-53
-j GRANT
/sbin/lidsconf -s /usr/sbin/named -o CAP_SETGID 53-53
-j GRANT
Ecjih BIND 3anycKaeTCH b ch root- o K py>xe huh, HyxcHO ycTaHO-
BHTB B03M03CH0CTB CAP SYS CHROOT
/sbin/lidsconf -s /usr/sbin/named -o CAP_SYS_CHROOT
-j GRANT
Kax h Apache, BIND MOxeT hmctb hcckojibko hotomkob, ko-
topbim noHa#o 6 HTC 5 i ^ocTyn ko BceM 4>aiijiaM h bo3moxhoct5im,
onHcaHHBiM paHee, no3TOMy rjw nepeHOca B03M0XH0CTeH ApyrHM
npoiieccaM Hyamo pa 3 pemHTB CAP_SYETPCAP:
/sbin/lidsconf -s /usr/sbin/named -o CAP_SYETPCAP
-j GRANT
HacTajio BpeMH npOTecTHpOBaTB C03jiaHHbin ACL. 3anycTHTe
named h cjieflHTe 3a chctcmhbimh xypHajiaMH — b hhx bbi HaH^e-
Te coodmeHHH 06 omndnax, ecjin hto-to B^pyr noH^eT He Tax.
B 3aBepmeHne Hy*no CKa3aTB, hto ecjin y Bac bo3hhkjih npo-
djieMBi c TeM hjih hhbim cepBHCOM, noceTHTe cahT www.lids.org —
TaM BBI HaH^eTe MHOXCeCTBO TOTOBBIX ACL AJIU pa3HBIX CepBHCOB. |
CHIP LINUX 4/2005
advanced I i e 3 o n a c h o n b
y c r a h a a 1 h a a e m NIDS Snort
69
Cepreti flpewmyK
no flaHHbIM MHCTMTyTOB, SaHHMatOlAHXOl 6e30naCH0CTbK) (HanpMMep,
CERT, www.cert.org), hmc/io m-mufleiHTOB b l/lmepHeTe nocrortHHO pacTeT.
fleMCTBme/ibHo, AaHHbie c onucaHmiMM b3/iomob, a Taione roTOBbie
nporpaMMbi n SKcn/iombi ceroflHn nav\jv\ flOBO/ibHO npocTO. lloaTOMy
Aawe HeonbiTHbiPi no/ib30BaTe/ib MO>KeT Boo6pa3MTb ce6n xaKepoM
m nonpo6oBaTb b asmctbmm Becb AOCTynHbm apceHa/i.
jut o6HapyaceHHH aTaK b cocTaB Unix-CHCTeM BXJiiouaeTCH u;ejiBiH
putt nojie3HBix npKJioxeHHH, HMeioutHx onpeAejieHHBie 3attanH h
Hau;ejieHHBix Ha xoHxpeTHbiH KJiacc aTax. 3#ecb h MejxceTeBbie 3x-
paHBi, 3aKpbiBaK>mHe HeHyxcHbie nopTBi, h aHTHBHpycHBie npo-
rpaMMBi, ocymecTBjiHiomHe noncK BHpycoB, h ceTeBBie cxaHepbi,
h cxaHepBi 6e3onacHOCTH, onpeflejiinonine ya3BHMBie yuacTxn ce-
TH, KOTOpBie MOiyr 6BITB HCn0JIB30BaHBI 3JI0yMBIIHJieHHHK0M RJW
aTaKH. IlaccHBHbie aTaxn, n;ejib KOTOpbix — c6op mrcjiopMaitHH
6e3 B03AeHCTBHH Ha padoTaiomne cjiyjxdbi Bpotte nepexBaTa Tpa-
(J)HKa, onpeaejiHiOTca nporpaMMaMH-aHTHCHH(J)(J)epaMH (AntiSniff,
Sentinel). CpettCTBa xoHTpojni itejiocTHOcra (JraHJiOBbix chctcm
(Tripwire, AIDE) h odHapyaceHHH 3axra,ztox (chkrootkit, rkdet)
n03B0JIHK)T 6e30IHH60HH0 OnpetteJIHTb HeCaHKHHOHHpOBaHHOe H3-
MeHeHHe BaxcHbix CHCTeMHbix (jDaiuiOB hjih ycTaHOBKy suid/guid Ha
nojib30BaTejibCKHe npHjiojxeHini. Bcex nporpaMM He nepeuecm
Oco6oe MecTO b 3tom cnncxe 3aHHMaiOT IDS (Intrusion Detection
Systems) — CHCTeMbi odHapyaceHHH aTax h BTOpJxeHHH.
CncTeMbi IDS, b cboio ouepe^b, Taioxe noflpa3flejiHK)TC5i Ha
KJiaccbi. HanpHMep, ceTeBbie CHCTeMbi odHapyjxeHiui aTax (Network
Intrusion Detection System — NIDS) h «HH#HBHflyajibHbie» chc-
TeMbi host-based. IlepBbie xompojiHpyioT npoxojmmHH ceTeBOH
Tpa4>Hx, a BTOpbie, aHajiH3Hpyn #aHHbie Ha xoHxpeTHOM y3Jie, m>i-
TaiOTcn odHapyacHTb 3JiOHaMepeHHbie nencTBiia. B nocjieflHee Bpe-
mr HanajiH 6biCTpo pa3BHBaTbcn Tax Ha3biBaeMbie radpH^Hbie IDS,
coneTaiomHe b cede bo3mojkhocth o6ohx thhob — ceTeBbix h y3Jio-
bhx. EcTb ente h Application Based IDS, BbiuBjunontHe aTaxn, ra-
npaBjieHHbie Ha xoHxpeTHbie npnjiojxeHHH. IIo THny onpettejieHHH
aTax CHCTeMbi IDS aejiHTCH Ha CHraaTypHbie, padoTa xoTOpbix no-
ttodHO aHTHBHpycaM 3axjnouaeTCH b noncxe 3apaHee H3BecTHbix
npH3HaxoB aTaxn, h CHCTeMbi, peampyiontHe Ha aHOMajinn b xoh-
TpojiHpyeMOH CHCTeMe hjih cera. Hmciotch h nottxjiaccH(j)Hxa-
u;hh, HanpHMep CTaTHCTHnecxHe h aaanTHBHbie CHCTeMbi, CTpoHinue
npo(J)iuib 3ainHinaeMOH cpejibi no pa3HbiM npaBiuiaM. KpoMe toto,
cerottHH dbiCTpbiMH TeMnaMH pa3BHBaiOTC5i Intrusion Prevention
System, cnocodHbie He tojibxo odHapyxcHBaTb, ho h ocTaHaBjiHBaTb
aTaxn. KajK^biH THn nottodHbix chctcm HMeeT cboh ^ocTOHHCTBa h
HeaocTaTXH, o hhx mbi roBOpHTb He dyneM, xjiaccHcjiHxaitHH >xe
npHBetteHa ajih toto, HTodbi dbuia noHirraa cjiojkhoctb 3toh 3attauH,
4/2005 LINUX CHIP
70
advanced de3onacHOCTb
a Taiofce noKa3aHO KOHKpeTHoe MecTO b oGmeii cnereMe oGHapyace-
hh a TejieKOMMyHHKauHOHHbix aTaK, KOTOpoe 3aHHMaeT NIDS Snort
(www.snort.org). E me oaHO oTCTyiuieHHe, KOTOpoe HeoGxoaHMO
caejiara aocnoBHO IDS nepeBoanrca xax «cncTeMa oGHapy>KeHMa
BTOpxceHHH», nooTOMy b jiHTepaType name Bcero Hcnojib3yeTca
HMeHHO 3tot TepMHH, hto, b npHHitHne, He Bceraa npaBmibHO. Ha-
npHMep, CHCTeMa IDS MoaceT oGmpyacHTb HeyaaaHyio aTaxy, koto-
paa He npHBejia k BTOpaceHHio, noaTOMy 6ojiee jioraaHbiM GyaeT
Hcnojib30BaHHe TepMHHa «CHCTeMa oGHapyaceHHa aTax» — COA.
B 03 M 0 JKH 0 CTM Snort
IlepBbie ynoMHHaHHH o COA oraocaTca k 1980 roay, a hmchho k
nyGrtHxaitHH /JacoHa AnaepcoHa «Computer Security Threat
Monitoring and Surveillances Ho axraBHO pa3BHBaTbca 3to Ha-
npaBjieHHe CTajio ropasao no3ace, b 90-x roaax nponuioro CTOJieTHa.
O Snort BnepBbie 3aroBOpHjra b 1998 roay, xoraa ee ocHOBaTejib
MapTHH Poem peninji co3aaTb Heicne npaBHjia, KOTOpbie Moran
6bi jiothhho onncbiBaTb HHcjiopMaitHio nepexBaaeHHbix ceTeBbix
naxeTOB b co3aaHHOM hm naxeiriOM CHmJxJiepe. Snort oaeHb Gbict-
po ynmacn odHapyaceHHK) aTax, a MapTHH nocToaHHO coBepmeH-
CTBOBaji cboh npoayxr, npHBjiexaa Bee Gorumiee KormaecTBO cto-
POhhhxob. nocTeneHHO Snort oGpeTart cnocoGHOCTb paGoTaTb
c (J)parMeHTHpOBaHHbiMH naxeTaMH, yanjica o6pa6aTbiBaTb TCP-
3arojiOBXH, SLIP- h PPP-naxera, npaBHjia CTaHOBHjiHCb Hecxortb-
ko HeyttodHbiMH b HanHcaHHH, ho 3aTO BbmrpbiBajiH no aaciH hh-
TaeMOCTH, pOCJIO KOJIHUeCTBO Onepau;HOHHbIX CHCTeM, B KOTOpbIX
moxcho 6buio 3anycTHTb Snort, noaBjiajincb npenpoiteccopbi.
HTax, Snort aBjiaeTca ceTeBOH CHCTeMOH o6Hapy>xeHHH aTax c ot-
KpblTblM HCXOAHbIM XO^OM, CHOCOGhOH BbinOJIHHTb B peaJIbHOM Bpe-
MeHH aHajiH3 IP-naxeTOB, nepeaaBaeMbix Ha xoHTpojiHpyeMbix
HHTep(j)eHcax, c uejibK) oGmpyaceHHa aTax hjth nonbiTOx noncxa
yn3BHMOCTeH . Snort oGrapyacHBaeT aTaKH, xoMGHHHpya an a MeTO-
aa — CHmaTypHbiH h aHajiH3 npOTOKOJiOB. /(jia onncaHna coGbithh,
KOTOpbie Moryr camaram 3JiOHaMepeHHbiMH hjih aHOMajibHbiMH,
Hcnojib3yiOTC5i thGkhh h3bik npaBHJi h MOAyJibHan CHCTeMa aHajiH3a.
KcTaTH, ceroaHH cymecTByeT aBa ran a npaBHJi: ocJjnnnajibHbie cep-
TH(J)Hu:HpOBaHHbie h CTporo npOTecTHpOBaHHbie Sourceflre VRT
Certified Rules, pacnpocTpaHmomnecn no jiHiteraHH VRT Certified
Rules License Agreement, orpaHnanBaiomeh hx xoMMepaecxoe hc-
nojib30BaHHe. 3th npaBHjia aoerynHbi b jib yx BapnaHTax — arm 3ape-
mcTpHpoBaHHbix h He3apemcTpHp0BaHHbix nojib30BaTejieH. Pera-
CTpaitHH adcojnoTHO Geciuiaraa. Bee H3MeHeHHa b nepByio onepeab
pacnpocTpaHHJOTCH no noanncanxaM (subscription release c GyKBoh
s b Ha3BaHHH naxeTa), 3aTeM CTaHOBHTca aocTynHbiMH arm 3ape-
THCTpnpoBaHHbix nojib30BaTejieH (6e3 6yxBbi s). Te ace, kto He 3ape-
rHCTpHpOBaJICH, aOBOJIbCTByiOTCH CTaTHCTHneCKHMH npaBHJiaMH,
odHOBjineMbiMH tojibko k Bbixoay ouepeaHoro pejiH3a Snort h, eere-
CTBeHHO, OTCTaiontnMH ot 3CH3HH (ohh HMeiOT npecjmxc pr b Ha3Ba-
hhh). HanpHMep, Ha momcht HanncaHH a CTaTbH (cepeaHHa HoaGpa)
3th npaBHjia aarapOBarmcb HiojieM 2005 roaa. Btopoh ran npaBHJi
Ha3biBaeTCH Community Rules. Ohh co3aaHbi aoGpOBOJibitaMH, ho
enje ne nponuiH npoBepxy h pacnpocTpaimiOTca noa JiHu;eH3HeH
GPL. PemaTb, Hcnojib30BaTb hx hjih HeT, BaM.
Ho 3to ente He Bee. HaaHHaa c Bepcnn 2.3.0 RC1, b Snort bxjho-
neH xoa npoeKTa Snort-inline, TeM caMbiM oh nonyanji bo3mojk-
HOCTb He TOJibKO BbiaBjmTb, ho h ocTaHaBjiHBaTb npeanpHHaTyio
aTaicy, nepecTpaHBaa npaBHjia iptables. H Tenepb Snort mojkho no
npaBy Ha3BaTb normoiteHHOH CHCTeMOH npeaoTBpanteHHa aTax.
Ceroaim Snort MO^ceT padoTaTb b nerapex pexHMax:
► xaK naKeTHbin CHHcjiclDep, KOTOpbiii noaodHO tepdump, Taxace hc-
nojib3ya bbpeap, OTjiaBjiHBaeT naxera b ceTH h BbiBoaHT Ha 3xpaH
HH(J)OpMaitHIO O HHX;
► xax perncTpaTOp naxeTOB, 3anHCbiBaiomHH aaHHbie Ha ancx;
► xax xoMiuiexcHan nepecTpaHBaeMan CHCTeMa odHapyxceHim aTax,
aHajiH 3 Hpyioma 5 i ceTeBOH Tpa^inx, erteayn npaBiuiaM, h Bbinomm-
loman Ha hx ocHOBe onpeaerteHHbie aencTBim;
► xax CHCTeMa npeaoTBpameHHH aTax, nortynaiomaii BMecTO bbpeap
naxeTbi H3 iptables, cnocodHan OTBepraTb hjih nponycxaTb naxera,
ocHOBbiBancb Ha cneitHcjiHuecKHx npaBHjiax.
Bcio codpaHHyx) HH(jjopMaitHio aeTexrop Snort no3BormeT coxpa-
HHTb b (Jiabjiax >xypHajiOB pa3mmHbix cJjopMaTOB (odbiHHbie ASCII,
TexcTOBbie (JtaHJibi hjih Tax Ha3bmaeMbie OnHapHbie, coBMecTHMbie c
tepdump). KpOMe Toro, arm yaodcTBa aHajiH3a bcio co6paHHyio hh-
(JjopMaHHK) mo>kho 3aHecTH b 6a3y aaHHbix: Postgresql, MySQL, MS
SQL Server, Oracle hjih unixODBC. Xoth, b npHHitnne, mojkho hc-
nojib30BaTb jiiodyio apyryio 6a3y aaHHbix, He npeacTaBjieHHyio b
3tom ennexe, ho Toraa Tadrmitbi npHaeTCH cjjopMupOBaTb Bpymiyio.
HacTO b JiHTepaType Snort Ha3biBaiOT jierxoii IDS, noapa3yMeBan,
hto OHa npeaHa3HaneHa arm padora b ceTux c HedojibinoH Harpy3-
koh. 3to yTBepJxaeHHe Hecxojibxo ycTapejio, yuHraBan xoth 6bi to,
hto ceroaim aaxe aoMamHHe ceTH Moryr 6bitb nocTpoeHbi Ha rnra-
Ghthbix aaanTepax, KOTOpbie Ha3biBaTb jierxHMH H3bix yxe He noBO-
pauHBaeTcn. CncTeMa, nocTpoenHaa Ha aarannax Snort, cnocoGra
coGnpaTb h o6pa6araBaTb HHcjiopMaitHio c HecxojibXHx ceTeBbix jio-
xaitHH. Bee b aerto b npOH3BoaHTejibHOCTH KOMnbiOTepOB, Hcnortb-
3yeMbix b xanecTBe ceHCOpOB. toto htoGh yjiynmHTb npOH3BO-
aHTertbHOCTb, pa3aejum 6biCTpyio padoTy IDS no 3axBaTy naxeTOB
h OTHOCHTertbHO MeaaeHHyio no 3aHeceHHio HHcjtopMaitHH, HeoG-
xoaHMO Hcnojib30BaTb Barnyard, kotopbih aocTyneH Ha CTpaHHite
3axanxn npoexra Snort. B 3tom ertynae Snort C03aaeT aBOHHHbiii
BbIXOaHOH, Tax Ha3bIBaeMbIH «yHH(J)HItHpOBaHHbIH» cJjOpMaT, C KOTO-
pbiM b aaJibHenmeM h paGoTaeT Barnyard.
YdaHOBKa Snort
Ha MOMeHT HanHcaHHH CTaTbH axryajibHOH Gbuia Bepcim 2.4.3. B xa-
necTBe BapnaHTa moxcho Hcnojib30BaTb nocjieaHHH chhmok snort-
snapshots-CURRENT.tar.gz. XoTejiocb Gbi OTMeTHTb, hto noaxaTa-
jiot contrib, coaepJxantnH pa3mmHbie aonoji Henna x Snort, HannHaa
c Bepcnn 2.2.0 nycTyeT. CxpHnra arm co3aaHHa Ga3 aaHHbix nepe-
MecTHjincb b noaxaTaaor schemas, a cxpHnra arm co3aaHHa RPM-
CHIP LINUX 4/2005
yciaHaBJiMBaeM NIDS Snort
71
naxeTOB — b OAHOHMeHHBin noAKaTajior. OcTajiBHBie ace pacmnpe-
hh a moxho Hairra Ha CTpaHnue www.sn 01 t. 0 rg/dl/c 0 ntrib. Bee caMoe
BaacHoe CKa3aHO, TenepB mo)kho HaauHaTB ycTaHOBKy. /(aa BBinoa-
HeHHB 6ojiBiHHHCTBa onepaitnn noTpebyiOTca npaBa root.
PacnaKOBBiBaeM apxnB:
$ tar — xzvf snort-snapshots-CURRENT.tar.gz
$ cd HEAD
BHyTpH bbi He HaitfleTe npHBBiHHoro xoHcjmrypaitHOHHoro
CKpnnTa, ero Heobxo^nMO C03#aTB:
$ ./autojunk, sh
Tenept KOHc[)HrypHpyeM. B caMOM npocTOM cayaae cxpnnTy hh-
KaKHx napaMeTpOB nepe^aBaTB He Ha#o. Ecjih ace HeobxoflHMO nc-
nojiB30BaTB 6a3y #aHHBix, to, HanpHMep, #aa MySQL ^obaBaaeM
onn;HK) --with-mysql, #aa BKJnoaeHHa peacnMa ocTaHOBKH aTax^o-
6aBjiaeM -enable-inline. OcTajiBHBie omann MoacHO npocMOTpeTB c
noMoniBK) -help:
$ ./configure —with-mysql
Tax xax Snort aBaaeTca, no CBoen cyra, CHncjxjiepOM, nepexBa-
TBiBaiomHM naxeTBi, to #aa xoMnnaaiinn TpebyeTca 6H6jiHOTexa
libpcap, xoTOpaa o6bihho n#eT BMecTe c tcpdump. IlooTOMy, ecjin
bo BpeMH xoH(J)HrypHpOBaHHH bbi noayanaH Taxyio ornnbxy:
ERROR! Libpcap header not found, go get it from
www.tcpdump.org/ or use the — with-libpcap-*
options, if you have it installed in an unusual place
Heo6xo,ztHMO 3anTH Ha caifr www.tcpdump.org, cxaaaTB h 3aTeM yc-
TaHOBHTB 6n6jiHOTexy libpcap. Han npyron npHMep. IlpH xoHcjauy-
pHpOBaHHH c onunen -enable-inline a noayana cae^yioiuyio ornnbxy:
checking "for libnet.h version 1.0.x"... /sw/include
./configure: line 1: dnet-config: command not found
./configure: line 1: dnet-config: command not found
checking dnet.h usability... no
checking dnet.h presence... no
checking for dnet.h... no
ERROR! Libdnet header not found, go get it from
http://libdnet.sourceforge.net or use the -with-dnet-*
options, if you have it installed in an unusual place
B npHHiiHne, b noacxa3xe HanncaHO, hto Heobxo^nMa bnbano-
Texa libnet, ho b 3tom cayaae a 3Haa, hto OHa y MeHa ecTB. ITo3to-
My a npocTO Hainea, rae aeacnT HyacHBin 3aroaoBOHHBin 4>ana:
# find /usr -name libnet.h
H aobaBHJi npH xoHcjmrypHpOBaHHn napaMeTp — with-dnet-
includes=/usr/include/.
Taioxe npH ycTaHOBxe b peacuMe inline BaM oba3aTeaBHO noTpeby-
eTca HajiHHHe 3aroaoBOHHBix c^anaoB iptables. Ecan xoHcjDHrypaTOp
He MoaceT hx Hairra, to, arm toto hto6bi npeoaoaeTB 3Ty npobaeMy
(ecan He noMoraiOT BBimeonHcaHHBie MeToaBi), HeobxoauMO cxa-
aaTB h pacnaxoBaTB HcxoaHBie TexcTBi iptables (www.iptables.org)
h b o6pa30BaBineMcn xaTaaore bbccth xoMaHay make install- devel.
Koraa xoHcjmrypaitHa 3aBepmHTca 6e3 oninbox, HyacHO bbccth
TpaaHijHOHHBie make h make install h npHCTynHTB x HacTponxe.
HacrpouKa Snort
He 3Ha K), c aeM 3to CBa3aH0, ho Bee xaTaaom, HeobxoaHMBie a an
paboTBi Snort, ao chx nop npnxoaHTca co3aaBaTB BpyaHyio.
# mkdir /etc/snort
Cioaa mbi byaeM cxaaaBiBaTB Bee xoHcjmrypaitnoHHBie cjianaBi
h npaBHaa.
# mkdir /var/log/snort
A 3aecB byaeT bccthcb acypHaa paboTBi.
TenepB b xaTaaor /etc/snort xonnpyeM Bee, hto aeacnT b noaxa-
Taaore etc aHCTpnbymBa.
# cp — R /home/sergej/work/HEAD/etc/* /etc/snort/
/(aaee pacnaxoBBiBaeM c^ana npaBna n noMentaeM nx b
/etc/snort/rules. B npmmnne, mccto ana hhx Moamo BBibpaTB aio-
boe, ho Tax yaobHee, x TOMy ace oto canraeTca TpaananoHHBiM:
# tar —xzvf snortrules-snapshot-CURRENT.tar.gz
# mv rules /etc/snort
PaccMOTpHM oaHO npaBnao, ana toto HTobBi CTaao acHO, xax
ohh nmnyrca. HanpHMep, oaHO-eanHCTBeHHoe npaBnao b 4>anae
virus. rules coaepacnT Taxyio 3anncB:
alert tcp $HOME_NET any -> $EXTERNAL_NET 25
(msg: "VIRUS OUTBOUND bad file attachment"; flow:to_serv-
er, established; content:"Content-Disposition|3A|"; nocase;
pcre: "/filename\s* =\s* . * ?\. (? = [abcdehijlmnoprsvwx] )(a(d [ep] |s [
dfx])|c([ho]m|li|md|pp)|d(iz|ll|ot)|e(m[fl]|xe)|h(lp|sq|ta)ljse?|m(d[abe
w] |s[ip])|p(p[st] |if| [lm] |ot)|r(eg|tf)|s(cr| [hy]s|wf)|v(b[es] ?|cf|xd)|w(m
[dfsz] |p[dmsz] |s[cfh])|xl[tw] |bat|ini|lnk|nws|ocx)[\x27\x22\n\r\s]/
iR"; classtype:suspicious-filename-detect; sid:721; rev:8;)
HecMOTpa Ha aoBoaBHO BHymnTeaBHBin Bna, npaBnao oaeHB npo-
CToe, n ecan pa3obpaTB ero no aacTaM, to Bee CTaHOBnrca Ha cboh
MecTa. nepBaa CTpoxa tobopht o tom, hto Bee coobmeHna no npOTO-
xoay TCP, HanpaBaeHHBie H3 aoManmen cera c aioboro nopTa bo
BHemHioio ceTB Ha nopT 25 (hto tobopht o noHTOBbix coobmeHuax),
HMeiontne b CBoeM cocTaBe npncoeanHeHHBin (J)aha c onpeaeaeHHBi-
mh pacmnpeHHHMH, onpeaenaiOTca xax noao3pHTeaBHBie. /fnpexTH-
Ba alert yxa3BiBaeT Ha aeucTBiia, xoTOpBie aoaaceH npon3BoanTB Snort
npn obHapyxeHHH naxeTa, nonaaaiontero noa 3to npaBnao. no
yMoaaaHHio HMeeTca naTBaencTBnn: alert, log, pass, activate n dynam-
ic. KpOMe Toro, b peacnMe inline aocTyimBi ente Tpn — drop, reject n
sdrop. B HexoTOpBix cayaaax b cocTaB npaBnaa BxaioaeHBi xoMMeHTa-
pnn (reference), no3BoaaK)mne Ha hth boaee noapobiiyio HH(J)opMa-
HHio ob ya3BHM0CTH Ha cneitnaaBHBix pecypcax. B HameM ace cayaae
Taxnx yxa3aTeaen HeT, Tax xax 3to npaBnao moxcho oiHecin x obinuM,
ho b caMOM 4>ahae coaepacnrca noapobHoe obBacHemie. npaBnao
MOaceT bBITB OaHOCTOpOHHHM (->) H £ByCTOpOHHHM (< >), K0TR3. Ha-
npaBaemre aBHacenna naxeTa poan He nrpaeT. Taxace b npaBnae mo-
aceT ncnoaB30BaTBca anpexraBa priority, yxa3biBaK)inaa Ha npHOpnrex
npn noaBaeHnn cobbiran c onpeaeaeHHbiM npnopnreTOM ohh Moryr
bBITB obpaboTaHBi ctopohhhmh yrnanTaMn, TaxnMn xax swatch
(Simple Watcher) nan syslog-ng (syslog-next generation), n BBinoamiTB
xaxne-anbo aencTBna, HanpHMep ompaBaaTB e-mail.
| (Dafiji KOHc|}iirypauMM snort.conf |
H nocaeaHnn mar, xoTOpBin ocTaaocB caeaaTB, — OTpeaaxmpo-
BaTB xoHcfmrypanuoHHBiH c^ana /etc/snort/snort.conf. B ancTpn-
byrnBe yace HMeeTca totobbih mabaoH, noaTOMy c Hyaa ero nncaTB
He npn^eTca. B (Jianae ncnoaB3yiOTca nepeMeHHBie, b tom ancae
BCTpenaiontneca n b npaBnaax. 3 to aoBoaBHO y^obHO — npn CMe-
He xaxoro-anbo napaMeTpa He npH^eTca ero nepenncBiBaTB He-
cxoaBxo pa3. KpOMe toto, HexoTOpBie oniann BBmeceHBi bo BHem-
4/2005 LINUX CHIP
72
advanced de3onacHOCTb
HHe cJtaHiibi, KOTOpbie nottxjiiOHaiOTCH ttnpexraBOH include c HMe-
HeM Manila. Bee napaMeTpbi ntettpo CHadxeHbi xoMMeHTapHHMH,
KOTOptie TpaAfflinoHHO HauHHaiOTCii co 3Haxa pemeTKH. JXjw yttob-
CTBa BoenpHHTHH (jtaiiji pa36nT Ha iihtb nacTeft:
► ycTaHOBKa nepeMeHHBix cera;
► HacTpOHKa npenpoiteccopOB;
► HaCTpOHKa BBIBO^a HHCjDOpMaiJHH;
► ycTaHOBKa ttonojiHHTejibHbix ttnpexraB;
► MOttHC[)HXaitH5I npaBiw.
fljIH HOpMaJIbHOH padOTbl AOCTaTOHHO HaCTpOHTb nepBbie TpH
nyHKTa, ocTajibHbie moxho noxa He TporaTb.
IlepeMeHHa)! HOME NET onpettejuieT IP-attpeca, KOTOpbie
Snort 6yaeT cHHTaTb attpecaMH ttoManmeH ceTH. Bo3moxcho 3atta-
HHe OT^ejibHoro attpeca hjih ttnana30Ha. Ecjih TpebyeTCH yxa3ara
HecKOJibKO attpecoB, ohm nepenHCJiniOTCH nepe3 3anHTyio. Kjnone-
Boe cjiobo any 03HanaeT jho6oh attpec. HanpHMep:
var HOMENET 10.1.1.0/24
var HOMENET [10.1.1.0/24,192.168.1.0/24]
IlepeMeHHan EXTERN AL_NET yKa3biBaeT Ha BHenmne y3Jibi.
no yMOJinaHHK) BbiCTaBjieHO 3HaueHHe any Ero moxcho ocTaBHTb
Kax ecTb, a donee jiothhhbim 6ytteT yKa3aTb, hto Bee, He HBjnnonte-
ecn flOMOM, 6ytteT BHeniHHM:
var EXTERNAL_NET !$HOME_NET
Hirace b (J>aHJie HtteT crrncox cepBepOB (DNS, SMTP, web, SQL, tel-
net h SNMP), Hcnojib3yeMbix b ceTH. Moxcho ocTaBHTb Kax ecTb, to
ecTb $HOME_NET, hjih yxa3ara xoHxperabiH IP-attpec, ho, c ttpyron
CTopoHbi, ecjiH y Bac HeT Be6-cepBepa, to 3aneM OTCJiexHBaTb cneitn-
(J)HnecKHe ajih Hero araKH? nooTOMy jinniHee moxcho CMejio otkjiio-
hhtb. /[ajiee 3attaiOTCn HOMepa nopTOB, Hcnojib3yeMbix cepBepaMH.
3to no3BOJineT Snort He pacnbuiHTb pecypcbi, a nexara aTaxy 6ojiee
KOHKpeTHO. npHHHHn tot ace: ecjiH HeT Oracle, to cooTBeTCTBy jo my jo
CTpoxy jiyume 3aKOMMeHTHpOBaTb. Obpamre BHHMaHHe, hto HOMep
nopTa Moxcer 6bitb 3aaaH xax ettHHHHHbrii [80] h xax HenpepbiBHbiH
[80:8080]. nepeuHCJieHne nopTOB uepe3 3an5nyio paboTara He dyner
(oto oOeLnaeTCH ncnpaBHTb b byztynteM). nooTOMy, ecjni Be6-cepBep
Hcnojn>3yeT jib a nopTa, HeobxoanMO Hanncaib cnettyioiitee:
var HTTPPORTS 80
var HTTP PORTS 8080
Taxace obpamre BHHMaHHe, hto nepeMeHHyio RULE_PATH
HyacHO onpeaejTHTb xax
var RULEPATH rules
A He xax
var RULE_PATH ../rules
npenpoiteccopbi, nottxjuoHaeMbie bo btopoh cexitHH
« Configure preprocessors*, — niTyxa aobojibho cepbe3Han h no-
jie3Han, ho Tpebyiontan HexoTOporo BpeMeHH, jjim toto hto6bi
pa3o6paTbcn c Ha3HaneHHeM h ocobeHHOcraMH paboTbi. Obpara-
Te BHHMaHHe, hto HexoTOpbie npenpoiteccopbi ttybjinpyiOT ttpyr
ttpyra, nooTOMy BXjuonaTb Bee cpa3y Taioxe He HMeeT CMbicjia.
Tax, BMecTO Portscan h Flow-Portscan pa3pa6oTHHXH pexoMeH-
ttyiOT Hcnojib30BaTb sfPortscan, pa3pa6oTaHHbra b Sourcefire h
npettHa3HaHeHHbiH tyin Tex xe itejien, to ecTb ajih onpettenerara
cxaHHpoBaHHH nopTOB. Bojiee 6bicTpbiH b paboTe Mottyjib Frag3,
npettHaaHaneHHbiH turn ttecjDpameHTaitHH IP-naxeTOB, npHineji
Ha 3aMeHy ycTapeBineMy Frag2. KpOMe toto, HexoTOpbie npenpo-
iteccopbi HanpaBjieHbi Ha onpettejieHne aHOMajnm b paboTe on-
pettejieHHbix cepBHCOB. Tax, X-Link2 State npettHa3HaneH ajih
onpettejieHHH yn3BHMOCTH b Microsoft Exchange Server,
HTTPInspect H3ynaeT aHOMajinn b HTTP-Tpac[)Hxe.
B TpeTben cexitHH «Conflgure output plugins», xax yace roBOpH-
jiocb, HacTpanBaiOTCH BbixoaHbie napaMeTpbi. B obnteM cjiynae
CTpoxa napaMeTpoB HMeeT Taxon BHtt:
output <name_of_plugin>: <configuration_options>
B HacTomitee BpeMH Snort MoaceT Hcnojib30BaTb ttecuTb imara-
hob jjjw BbiBOtta HH(J)opMaitHH (xaaytbin H3 xoTOpbix HMeeT ttonoji-
HHTejibHbie omtHH):
► alert_syslog — jijm Bbrnoaa HH(J)opMaitHH Hcnojib3yeTCH tteMOH sys-
log; MOttyJib HacTpaHBaeT npHOpHTeTbi coobnteHHH h ypOBeHb;
► alert_fast — HHcjDopMaitHH o bo3mo>khoh aTaxe BbiBoanTca b yxa-
3aHHbiH b xanecTBe ttonojiHHTejibHoro napaMeTpa (jtaHJi b coxpa-
nteHHOM 4>opMaTe, 6e3 nottpoOHOCTeii;
► alert full — MOttyJib, nottxottHiitHH jiim HeOojibniHx ceTen, Tax
xax chjibho 3aT0pMa3CHBaeT paboTy Snort; 3arojiOBOx naxeTa bbi-
BOttHTCH nojiHOCTbio, b jior-xaTajiore 6ytteT co3ttaH nottxaTajior, b
xoTOpbin no xaxttOMy IP 6yttyr 3anHCbiBaTbCH naxera, Bbi3BaB-
nme npettynpextteHHe;
► alert_unixsock — noxoxc Ha npettbittyntHH, tojibxo HH^opMaitHH b
peajibHOM BpeMeHH nepettaeTCH b Unix-coxeT, OTxytta MO^ceT 6biTb
CHHTaHa jho6oh ttpyron nporpaMMon;
► log_tcpdump — 3anHCbiBaeT b yxa3aHHbin (jtaiiji (x ero hmchh
G ytteT ttodaBjiHTbCH MeTxa BpeMeHH, nooTOMy 3aTepeTb ero npn
nepe3anycxe He nojiyHHTCH) nepexBaneHHbie naxerbi b (J>opMaTe
yTHTHTbi tepdump;
► database — Mottyjib, no3BOJHHontHH 3aHOCHTb HHcJiopMauHK) b
6a3y naHHbix;
► csv — BbiBOtt b (jtanji (J)opMaTa csv, xoTOpbin MOxeT 6 bitb Hcnojib30-
BaH ajih 3aHeceHHH inKjtopMaitHH b 6a3y ttamibix; xpOMe hmchh (jtan-
jia HeobxottHMO nepeHHCJiHTb napaMeTpbi, xoTOpbie b Hero 3aHOCHTCn;
► unified — bbiboaht ttaHHbie b cneitnajibHOM (JtopMaTe, ohthmh-
3HpOBaHHOM JIJW 06 pa 60 TXH BHeniHHMH yTHJIHTaMH, XOTOpbie 3a-
TeM byttyr 3aHHMaTbcn pemcTpaitHeii co6bithh; b yHHBepcajibHOM
cJiopMaTe Hcnojib3yiOTCH aea (jiaiuia — alert unified h log unified,
nepBbiii cottepxHT IP-attpec, nopT, npOTOxoji, ID coobiiteHHH, bo
btopoh 3anHCbiBaeTCH ttaMn naxeTa;
► alert_prelude — ttocTyneH npn xoH^nrypHpOBaHHH c omtHeft -
enable -prelude, b otom cjiynae Snort Hcnojib3yeTCn xax aaTHux m-
bpHttHoii IDS Prelude (www.prelude-ids.org);
► log null — b 3tom cjiynae Snort cnocobeH pearnpOBaTb Ha yxa-
3aHHbie npettynpextteHHH 6e3 pemcTpaitHH naxeTOB.
ToTOBbie npHMepbi hmciotch b (jtaiuie. /Jjih padoTbi hx ttocTaTOHHO
paCXOMMeHTHpOBaTb, nOSTOMy OCTaH aBJT H BaTbCH Ha HHX MbI He 6y-
tteM. Mo>kho co3ttaTb h codcTBeHHbie npaBiuia h npHBH3aTb x hhm on-
pettejieHHbiii ran aencTBUH. HanpHMep, H3MeHHB alert Ha suspicious b
npHBetteHHOM Bbirne npaBHie h 3anncaB cjieayiomee aencTBue, notto-
3pHrejibHbie naxerai moxcho 3axBaTbiBaTb b cJiopMaT tepdump:
ruletype suspicious
{
type log
output log_tcpdump: suspicious.log
}
CHIP LINUX 4/2005
ycianaBJiMBaeM NIDS Snort
73
B KOHu;e cexuaoi c noMonjbio anpexTHBbi include noaxuiouaeM
cjiaHji classification. config, coaepxanjHH onncaHne xjiaccwjiHxa-
u;hh h npnopHTeTOB aTax, a Taxace (jiauji reference. config, coaepxca-
iiihh URL Rim coodmeHHH 06 odHapyxeHHbix yH3BHMOcrax.
H, HaKOHeu, b KOHije cjiaHjia bbi HaifaeTe ceioimo «Customize
your rule set», b xoTOpoii HeodxoaHMO ydpaTb KOMMeHTapnn, yxa-
3biBaK>mne Ha (jianjibi c npaBHjiaMn:
include $RULE_PATH/local.rules
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit. rules
include $RULE_PATH/scan.rules
include $RULE_PATH/finger.rules
# include $RULE_PATH/multimedia.rules
# include $RULE_PATH/p2p.rules
include $RULE_PATH/experimental.rules
Ha3BaHHn npaBHJi roBOpnT caMH 3a cedn. OcTaBbre to, hto aen-
CTBHTejibHO HyacHO (ecjin coMHeBaeTecb, jiynrne Bxjuowre Bee),
no yMOJinaHHio cjiaHJi local.rules nycT, b Hero 3aHOCHT cboh npaBH-
jia caM nojib30BaTejib. B xanecTBe BapnaHTa moxcho C03aaTb ot-
aejibHbiii (Jianji, BbmecTH b Hero HeodxoaHMbie napaMeTpbi h noa-
xjhohhtb c noMombio anpexTHBbi include.
| 3anycK Snort |
nocjie Toro xax Bee totobo, moxcho 3anycKaTb Snort. /Jjih padora b
pexHMe CHH(})4)epa Snort 3anycxaeTC5i c cjuiaroM -v. npH otom Ha
OKpaH 6yayr BbiBoauTbca 3arojiOBKH naxeTOB. Ecjih ace bbi xothtc
BH aeTb h aaHHbie, Hcnojib3yifre xoManay:
# snort -vd
*** interface device lookup found: ethO
Running in packet dump mode
Initializing Network Interface ethO
--== Initializing Snort ==--
Initializing Output Plugins!
Decoding Ethernet on interface ethO
--== Initialization Complete ==—
-*> Snort! <*-
o" )~ Version current (Build 29)
"" By Martin Roesch & The Snort Team:
http://www.snort.org/team.html
(C) Copyright 1998-2005 Sourcefire Inc., et al.
11/14-18:06:25.638963 192.168.0.1:2291 -> 192.168.0.20:114
TCP TTL:128 TOS:OxO ID: 17 112 IpLen:20 DgmLen:48 DF
***S* Seq: 0x3AB82ED6 Ack: 0x0 Win: 0x4000 TcpLen: 28
TCP Options (4) => MSS: 1460 NOP NOP SackOK
11/14-18:06:25.639014 192.168.0.20:114 -> 192.168.0.1:2291
TCP TTL:64 TOS:0x0 ID:2523 IpLen:20 DgmLen:40 DF
***A*R** Seq: 0x0 Ack: 0x3AB82E
Snort received 1714 packets
Analyzed: 1157(67.503%)
Dropped: 557(32.497%)
Breakdown by protocol:
TCP: 451 (26.313%)
ICMP: 71 (4.142%)
ETHLOOP: 0 (0.000%)
DISCARD: 0 (0.000%)
Action Stats:
ALERTS: 0
LOGGED: 0
PASSED: 0
Ecjih b CHCTeMe oaHH HHTepcfieHC, to nporpaMMa caMa pa3de-
peTCH, c hqm eft padoTaTb. B npOTHBHOM cjiyuae ero TpedyeTCH yxa-
3aTb npH noMoniH -i:
# snort — vd -i ethO
Mojkho yxa3aTb Ha KOHKpeTHyio MHcJxypMaHHK), KOTOpyio Tpe-
dyeTcn 3axBaTHTb. HanpHMep, ycTaHaBjiHBaeM b xauecTBe aoMam-
Heft ceTH 192.168.1.0 h 3axBaTbiBaeM naxem c y3Jia 192.168.1.1:
# snort -h 192.168.1.0/24 -d -v host 192.168.1.1
,Hjih peracTpaiiHH naKCTOB b odmeM cjiyuae yKa3biBaeM KaTajior,
B KOTOpblH Ha^O 3anHCbIBaTb HH(jDOpMau:HK):
# snort -1 ./log
Ecjih Ha Bbixoae TpedyeTCH cjiauji cJiopMaTa tcpdump, to aodaB-
jineM napaMeTp -b.
H, HaKOHeu;, padoTa b peacHMe odHapyaceHHH aTax. Tax xax
cjiaftji snort. conf yace C03aaH, to nocTynaeM npocTo:
# snort -c /etc/snort/snort.conf
JIjw TecTHpOBaHHH HadnpaeM ping -s 65507. Ilocjie nero, ecjin
BbidpaH cooTBeTCTByiomHH peacnM BeaeHHH acypHajia, b KaTajiore
/var/log/snort hohbhtch cjiauji c np eay npeame h u cm o noTeHUHajib-
ho 3JiOBpeAHOM naxeTe:
[**] [1:499:3] ICMP Large ICMP Packet [**]
[Classification: Potentially Bad Traffic] [Priority: 2]
15/11-18:21:2.1131991802 192.168.0.1 -> 192.168.0.20
ICMP TTL:255 TOS:0x0 ID: 18479 IpLen:20 DgmLen:63028
Type:0 Code:0 ID:512 Seq: 19456 ECHO REPLY
[Xref => arachnids 246]
npH dojiee BcecTopOHHeM TecTHpoBaHHH COA cjieayeT ncnojib-
30BaTb cneu;HajibHbie ymjiHTbi Bpoae IDSwakeup (www.hsc.fr/
ressources/outils/idswakeup/download).
JXim aBTOMaTHHecKoro 3anycxa Snort npu 3arpy3xe chctcmbi
H eodxoflHMO Hcnojib30BaTb CKpnnT snortd, xoTOpbift HaxoauTCH
b noaxaTajiore RPM-aucTpudyTHBa. KonnpyeM ero b /etc/rc.d/
init.d/ h naeM K OMaHay:
# chkconfig snortd on
Snort co3jiaH jura toto, HTodbi BbinojiHHTb ojiHy 3aaauy — onpe-
aejieHne aTax, h BbmojiHneT oh ee xopoino. AHajiH3 cjiaftjiOB acyp-
HajiOB OT^aH Ha OTxyn ctopohhhm pa3padoTunxaM. HexoTOpbie
ymjiHTbi, npeAHa3HaneHHbie rjw othx ijejieft, bbi HaifaeTe Ha caft-
Te npoexTa. HanpHMep, npH noMomn Perl-cxpunTa SnortALog
(http://jeremy.chartier.free.fr/snortalog) moxho OTodpaTb Heodxo-
AHMyiO HH(jDOpMau:HIO H BbIBeCTH ee B yaodOHHTaeMOM BHae. Bot
T ax moxcho BbiBecTH Ton-jiHCT aTax, crpynnHpOBaHHbiH no BpeMe-
hh, h OTOCJiaTb ero no nonre:
# cat /var/log/snort/snort.log.1131990681 1 ./snortalog.pl
-hour_attack | /usr/sbin/sendmail -f admin@domain.com
HecMOTpn Ha to hto onncaHO yace MHoroe, 3a xaapOM ocTajiocb
enje HeMajio BonpocoB, Taxnx xax padoTa c da3oft aaHHbix h aBTO-
MaTHnecxoe odHOBjieHHe npaBHJi. nonra HHnero He cxa3aHO o
cpeacTBax aHajiH3a codpaHHoii HH(J)opMau:HH. Odo BceM otom mbi
noroBopHM b cjieayiomHH pa3. |
4/2005 LINUX CHIP
74
advanced I Linux ajio o t b e t c t s e h h u x 3 a a a h
KOHCTaHTHH JleilMXOB
B Hawe BpeMJl 6o/lbWMHCTBO AOMaiBHMX KOMnbHDTepOB npMMeHfleTCfl COBCeM
He B 6blTOBblX pe/lflX — y>Ke CTa/10 o6blHHblM fle/lOM npOM3BOAMTb AOMa
opnc|DpoBKy BMAeo M/iM My3biKM b pea/ibHOM MaciBTa6e BpeMeHM (realtime),
a He math A-n^ 3Toro b cneAi/ia/iM3i/ipoBaHHyfo cryAmo.
3T0 CTaJIO B03M0JKHBIM B CBH3H C yBeJIHHeHHeM BBIHHCJIHTeJIBHBIX
MOmHOCTeH COBpeMeHHBIX KOMnBIOTepOB H B03M03CH0CTeH HOBBIX
BepCHH OC. HanpHMep, ha po Linux Bepcnn 2.6 yxe HMeeT noA-
AepJKxy Tax Ha3BiBaeMoro soft-realtime, to ecTB pa6oTLi b peacHMe
BBiTecHHiomero , hjih npHOpHTeTHoro (preemptive), njiaHHpo-
BaHHH, hto noMoraeT aocthhb xopomnx pe3yjn>TaTOB npn odcjiy-
xHBaHHH 6ojn>moro KOJinaecTBa npou;eccoB hjih bo BpeMH bbi-
nOJIHeHHH aKTHBHBIX AHCKOBBIX OnepaiJHH. IlOA pe3yjIBTaTaMH
noApa3yMeBaiOTCH TaKHe xapaKTepHCTHKH kak otkjihk (response)
HApa Ha KaKOH-jin6o cHCTeMHBiii bbi30b hjih 3aAepJKxa (latency) b
ero pa6oTe, CBH3aHHaa c Harpy3KOH hjih peajiH3aAHeii ajiropHTMa.
Eojiee Toro, cymecTByeT pHA naTuen, KOTOptie no3BOJiaiOT HApy
pa6oTaTB b pexcHMe Tax Ha3BiBaeMoro hard-realtime, to ecTB c ra-
paHTHpOBaHHbiM otkjihkom CHCTeMLi npH jho6oh 3arpy3Ke. J\jm
npocTOTBi BoenpHHTHH 6yAeM Ha3BiBaTB soft-realtime «jierKHM» real-
time, a hard — «TH>KejibiM». Lf nycTb Bac He nyraeT aacTOTa
ynoTpedjieHHH cjiOBa «nara» — BeAb Ha hhx AepJKHTca bch POSIX/
Unix-CHCTeMa, a mbi tobophm 3Aecb o ero cepAite, to ecTB a Ape.
«JlerKMM» realtime
| llaTHM ot Con Kolivas |
3to Handojiee nonyjiapHBie naTun, KOTopbie HcnojiB3yiOTCH 6 ojib-
ttthhctbom AHCTpHdyraBOB (KaK MHHHMyM 3 to Debian, Gentoo,
SUSE, Fedora, ALT Linux) b cbohx kak 6bi realtime -HApax. Eme hx
oneub jho6ht BceB03M0>KHbie «HApOAejiaTejiH», HanpHMep nitro
sources hjih CKO patchset. IlaTHH -ck no3BOJHHOT ao6htbch 6ojib-
men «ot3bibhhbocth» HApa npn padoTe co 3HauHTejiBHBiMH odbe-
MaMH BbiuHCJieHHH, nepeAaae AaHHbix hjih aKTHBHOH AeaTejiB-
HOCTH CHCTeMBI BBOAa/BBIBOAa.
Hx OTJIHHHTeJIBHbie OCOdeHHOCTH:
► nojiHOCTBK) H3MeHeHa padoTa iuiaHHpoBiAHKa HApa, Tenepb
M03KH0 dojiee rndno peryjiHpOBaTb, hto h KaK iuiaHHpOBaTb h c ka-
KHM npHOpHTeTOM.
► flodaBjieH hobbih bha njiaHHpoBaHHH — Batch (idle) scheduling,
no3BOJiHioiAHH nepenjiaHHpOBaTb npoiieccbi TaKHM odpa30M, hto
ohh BbinojiHHiOTCH tojibko bo BpeMH npocToa (idle) CHCTeMbi. 3 to
OH eub yAodHO ajth TaKHx 3aAaa KaK komhhjihu;hh hjih AJmTejibHbix
onepau;HH HanoAodne apt-get dist-upgrade. Tpydo roBOpa, npon;ecc
BBinoaHaeTca «b c[)OHe», He Memaa ApyrHM.
► /JodaBjieH hobbih bha imaHHp OBmHKa — SCHED ISO, no3BO-
jiaioiAHH AodnTBca soft-realtime, to ecTB B03MoacHOCTeii padoTBi
npiuioaceHHa, npHdjnixceHHBix k realtime (Ha caMOM AeJie TaM BBe-
AeHO orpaHHaeHHe Ha 3arpy3Ky npou;eccopa b peacHMe realtime).
3tot iuiaHHpOBiAHK AOCTyneH He tojibko npHBHjiempOBaHHBiM
npou;eccaM, ho h odbiuHBiM (non-root) npnjiojKeHHHM.
► HHTepecHaa BentB — swap prefetch. Bmccto de3AyMHoro cdpacbi-
BaHHa CTpaHHu naMam b swap C03AaeT CBa3aHHBiH cnncox toto,
HTO yXOAHT B 4>aHJI nOAKaaKH, H, eCJTH CHCTeMa HaXOAHTCa B COCTO-
CHIP LINUX 4/2005
MOAMCpMKauMM a a pa
75
HHHH npOCTOH, B03BpamaeT 3TH CTpaHHIJBI B naMHTB B o6paTHOM
nopH^Ke. DiaBHan imeH Taxoro noBe^eHHH — ecjiH nporpaMMa He
HcnojiB30Bajiaci> ^ojiroe BpeMH h 6buia nepeBe^eHa b swap, to BaM
He npH^eTCii ee rojitoto npodyac^eHHii c flHCKa.
| flamn ot MontaVista |
0#hh h3 nepBBix nameH, npeBpamaiomHx n^po ^eHCTBHTejiBHO
b realtime -preemptive (to ecTB c BBiTecHinomen MHoroBa^amio-
ctbk), npH6jHDKeHHOH k realtime). Oh pa3pa6oTaH Sven-Thorsten
Dietrich Ha 6a3e nama, HanncaHHoro Hhto MojiHepOM (o HeM
mbi paccKaxeM uyr b no3xe). DiaBHan H^en — 3anpocBi Ha npepBi-
BaHHe noMemaiOTCH b OT^ejiBHBie hhth HcnojiHeHHn (threads),
KOTOpBie dopiOTCH 3a npoiieccop HapaBHe c ochobhbimh npoiiec-
caMH. Kax tojibko Taxoe npepBiBamie AodHBaeTCH CBoen u;ejiH,
ero HHTB HCnOJIHeHHH CTaHOBHTCH BBITeCHHIOmeH, TO eCTB M03CeT
6bitb BBiTecHeHa flpyraM npoueccoM, c 6ojiBmHM npHOpHTeTOM,
hjih no HCTeneHHH BpeMeHH 3aHHTHii pecypca, hto no3BOjraeT 06-
cjiyxHTB dojiBine npepBiBaHHH, ueM npn oGbiuhom mohohojibhom
6jIOKHpOBaHHH/pa36jIOKHpOBaHHH impa.
OcHOBHan npHHHHa Bcex 3a^ep3ceK b impe — 3 to KpHTHuecKHe
CeKLIHH B KO^e, 3amHmeHHBie MexaHH3MaMH 6jIOKHpOBaHH51
(spinlocks). IIo3TOMy po^aeTCH pe30HHBiii Bonpoc: a noueMy He
CfleJiaTB H 3TH CeKLIHH BBITeCHHHDmHMH? JXjw imep 2.4 yxe ecTB
peajiH3an;HH — 3 to PMutex, pa3pa6oTaHHBin rpynnon HCCJieflOBa-
Tejieh H3 MiOHxeHCKoro ymmepCHTeTa, kotopbih h 6biji b3ht 3a
ocHOBy ajih uttpa 2.6. Kohchho, cpa3y xe hohbhjihcb npodjieMBi
peajiH3an;HH — b Bepcnn PMutex 6 biji npHMeHeH npocTeHniHH
MexaHH3M HacjieAOBaHHH npHOpHTeTOB: Kax tojibko npouecc yc-
TaHaBjiHBaji <J>Jiar 6 jiokhpobkh (mutex), ero npnopHTeT yBejiHUH-
BajiCH, h oh mot duicTpee BBinojiHHTB cbok) aa^any H ocbo6oahtb
mutex. BMecTe c ApyraMH yjiyumeHHiiMH 3 to no3BOJiiuio H3de-
acaTB mhothx npodjieM c HCKaxemieM npHOpHTeTOB npn bbitcc-
HHiomeM iuiaHHpOBaHHH. B Bepcnn ot MontaVista 6 biji npHMeHeH
flpyroii noRxojx — Bee cymecTByiomHe MexaHH3MBi djiOKHpOBaHHH
Gbijih 3aMeHeHBi Ha HOBBie (juiara 6 jiokhpobkh (3tot MexaHH3M
6 biji noxox Ha cymecTByiomyio peajiH3au;HK) ceMacjiopOB b n^pe).
To ecTB Bee KpHranecKHe cckijhh b nttpe cTajin BBiTecHmomHMH.
K TOMy xe, nepeHecn Bee 3anpocBi Ha npepBiBamie b OT^ejiBHBie
hhth HcnojiHeHHH, peniHjiH eqe o^Hy npodjieMy: TenepB He B03-
HHKaeT TynHKOBBIX CHTyailHH, CBH3aHHBIX C npepBIBaHHilMH.
K coxajieHHio, He o6oihjiocb 6e3 jioxkh ^erra. TenepB Ha^o
nepecMOTpeTB BecB ko a uttpa, r,ae HcnojiB3yiOTC5i 6 jiokhpobkh, h
npOBepHTB ero pa6oTOcnoco6HOCTB (ecjin hto-to He padoTaeT,
BepHyTB ceMacjiopBi h sp inlock Ha MecTo). K TOMy ace He Bee kom-
noHeHTBi ii^pa aojkkhbi 6bitb BBiTecmnomHMH — HanpHMep,
cjioacHO npe^CTaBHTB cede BBiTecmieMBiH njiamrpoBmHK n^pa.
Ho pa3pa6omHKH MontaVista flajin xoponiHH CTapT BceM npoex-
TaM soft-realtime, £OKa3aB, hto nttpo Linux BnojiHe moxcho c,ae-
JIUTB TaKHM, KaKHM HyaCHO.
| riaTMM ot Hhto Mo/iHepa |
Ycnex MontaVista 3aHHTepecoBaji Hhto MojiHepa, o#hoto H3 H3-
BecTHBix «nAepHBix xaKepOB». HcTOpnn rjiacHT, hto oh nponaji Ha
ABa ahb h noTOM bbijiojkhji cbok) peajiH3au;HK), Ha3BaHHyio Bnoc-
jieflCTBHH voluntary preemption, a 3aTeM realtime preemption.
Hhto corjiacHjicn c ochobhoh H^een nana ot MontaVista, ho c
HeKOTOpBIMH H3MeHeHHHMH !
► PMutex He npHMeHiuicn. Bmccto Hero Hhto HcnojiB30Baji cy-
mecTByiomHH MexaHH3M ceMa(j)opOB b n^pe. Kax oh caM roBOpnji
BnocjieACTBHH, o6bhchh5i CBoe pemeHHe, ceMa(J>opBi padoTaiOT Ha
Bcex apxHTeKTypax, a PMutex — tojibko Ha x86. Bbijio 6bi 3^opo-
bo peajiH30BaTB HacjieAOBaHne npHOpHTeTOB nepe3 ceMa(j)opBi,
Tor,aa 3 to dy^eT ^ocTynHO h pemeHHHM Ha 6a3e ceMa^iopOB, h pe-
meHHHM, nepenHcaHHBiM H3 spinlock. O^HaKO b peajiH3au;HH vol-
untary preemption ototo TaK h He 6 bijio c^ejiaHO.
► BMecTO nepenHCBiBaHHn KO^a Ha hobbih MexaHH3M 6 jiokhpob-
kh 6biji npeflJioxeH HHTepecHBifi BapnaHT — (J)yHKiiHH 6 jiokh-
PObkh He H3MeH5uiHCB, MeHiuiacB tojibko Mo^ejiB hx noBe^eHHH:
TenepB ohh motjih 6bitb o6bihhbimh djiOKHpOBKaMH, hjih «xht-
Pbimh» ceMa<J)opaMH.
► Hhto bbihchhji, hto aobojibho mhoto 6jiokhpobok aojhkhbi
HC n0JIB30BaTB CTapBIH MexaHH3M, a He HOBBie «nOJIHMOp(j)HBie»
djiOKHpOBKH. B ero name coxpaHHjiocB okojio 90 «CTapBix» 6 jio-
khpobok (b Bepcnn MontaVista — 30), ho djiaro^apn «nojiHMOp-
flpoeKT RTnetwork
CeieBOM realtime
RTnetwork (www.rtnet.org) — 3 to nonbiTKa peuimb npo6neMbi 3 a-
Aep>KeK n kojuim 3 mm b cem Ethernet npn nepeflane AaHHbix c noMO-
LAbio ceTeeoro ciena, cneunanbHo paspadoTanHoro AJifl ycnoBMM
dpororo peanbHoro BpeMenn. OTiiMMMTejibHbie oco6eHHOdn:
► peann3aunn Open Source, ocHOBaHHan Ha OTKpbiTbix npoTOKonax
h craHAapTax;
► Mcnonb3yeTcn cbom ceieBOM ciex, OTjiMMHbiw ot ciaHAapTHow pea-
nM3aunn TCP/IP, MHTerpnpoBaH b MHc()pacTpyKTypy HApa Linux;
► ncnonb3yeTcn Ethernet K3K TpaHcnopTHan TexHonornn;
► ncnonb3yeTcn TDMA (Time Division Multiple Access) — yjiymueH-
Hbm npoTOKon AJifl KOHTpojin nepeAami AaHHbix;
► ncnojib3yeTCfl cneunann3MpoBaHHbiM 3aronoBOK f\nn TDMA-
nepeAaHM — RTmac;
► peanH30BaH0 Kax pacuiupeHne nna RTAI (Real-Time Application
Interface).
1/lHTerpauMfl RTnetwork c FireWire
FireWire, T3K>Ke M3BecTHan xax IEEE-1397, — 3to Bbicoxonpo-
M3BOAHTe/ibHan nociieAOBaTejibHan Lunna a^^ coeAHHeHiin
pa3o6iueHHbix (heterogeneous) ycrpoftcTB. npeAHa3HaMeHHan
B OCHOBHOM A TIB nepeAaMM AaHHbix B 6blTOBOM 3/ieKTpOHMKe
(HanpHMep, BbicoxocKopocTHan nepeAana bha^o A aHHbix),
OHa MO>xeT 6biTb c ycnexoM npHMenena b npoMbiuineHHbix hbh
H ayMHbix uennx. noAAep>KKa RTnetwork nna FireWire noA 0C
Linux bo mhotom noBTopneT pea/iH3auHio RTnetwork f\na ce-
TeBoro dexa. 06meHMe FireWire ciexa m HApa RTnetwork pea-
/iH30BdH0 Mepe3 Ethernet-3MyjiHUH x), to ecTb nepeAaBaeMbie
naxeTbi npeo6pa3yx)Tcn b Ethernet-naxeTbi j\s\a RTnetwork
m FireWire-naxeTbi f\na CTexa FireWire.
TaxMM o6pa30M, FireWire pa6oTaeT Tax >xe, xax m Bee ocra/ib-
Hbie Ethernet-ycTpoMCTBa b RTnetwork.
4/2005 LINUX CHIP
76
3 a a a h
advanced ! Linux a ji a o t b e t c t b e h h bi x
c£>hhhocth» HOBoro 6jiOKHpOBaHHH ero naTu nojiyuHjicn ropa3,ao
MeHBine, ueM y MontaVista.
Kohchho, pa6oTa Han nameM nponojiacaeTCH (h ohchb 6ypHO —
Hhto BtinycKaeT no oahoh hoboh Bepcnn naTua b Henejno). He
Bee noKa rjianKO, ho HaneeMCH, hto Bee y Hero nojiywrcn, a nam
Bce-TaKH BonaeT b ochobhoc nnpo Linux.
| «T;i}Kesibm» realtime |
Tenept nepeiineM k npoeKTaM, nejiB KOTOptix — cnejiaTB H3
Linux HacTonntee realtime -napo. «HHTepecHO, ueM nx He ycTpa-
HBaiOT, HanpHMep, RT-naTUH?» — cnpocnTe bbi. A bot hcm: Bee
peajiH3aiiHH soft-realtime He naiOT 3aaaHHtix (hjih aeTepMH-
HHpOBaHHBix) napaMeTpOB 3aaepxeK, ohh jihhib noMoraiOT hx
CHH3HTB. Realtime -CHCTeMa c HerapaHTHpoBaHHLiMH 3aaep3cxa-
MH, KOHCHHO, M03CeT CBOaHTB 3ByKOBBie AOpOHCKH, HO BOT yn-
paBJIHTB aTOMHOit 3JieKTpOCTaHU;HeH, 6BITB 6opTOBOH CHCTCMOH
HCTpe6HTejiH-nepexBaTHHKa hjih npocTO cynep6BiCTpBiM IRC-
cnaM6oTOM — Bpna jih. H BOo6iae, HacTOHiijHH realtime aojihcch
H aUHH aTBCH C OTKJIHKa B HeCKOJIBKO MHKpOCeKyHa. CymeCTByeT
napa npoeKTOB, KOTOpBie peajiH3yiOT hard-realtime Ha nape
Linux. 3to RTLinux h RTAI/fusion.
| RTLinux |
Mojkho Ha3BaTB 3tot npoeKT napuiHBOH obh;oh cpean CTaaa Open
Source — peajiH3an;HH 3aKpBiTa naTeHTOM Ha no. OcHOBHan naen
RTLinux (h cyTB naTeHTa) — Bee annapaTHoe o6ecneueHHe c£>yHK-
anoHHpyeT noa ynpaBjieHHeM MajieHBKoro realtime -napa, a caMO
napo Linux BMecTe c ero npoaeccaMH h 3anauaMH hbjihctch jinmB
oaHHM H3 HH3KonpHOpHTeTHBix npoueccoB realtime -nnpa. C mhk-
pOHapOM MOvKHO 06lIjaTBCH Uepe3 CneitHaJIBHBIH MOayJIB, HMdO-
HtHH OrpaHHUeHHBIH Ha6op KOMaHa. fljIH o6iaeHHH MHKpOHapa c
npHKJiaaHBiM no cymecTByiOT Tax Ha3BiBaeMBie KaHajiBi cbh3h
MHKponapa h napa Linux. TaKHM o6pa30M, realtime -MHKponapo
KOHTpojinpyeT Bee annapamoe o6ecneueHHe, h mohcho rapaHTH-
pOBaTB padoTy b peajiBHOM BpeMeHH Been cncTeMBi b aejiOM.
| RTAI/fusion |
Pa3pa6oTHHKH H3 RTAI cmuajia xoTejin nonra no nym RTLinux —
to ecTB H30jinpoBaTB ocHOBHoe nnpo h nnpo Linux apyr ot apy-
ra, ho noTOM pemeHne H3MeHHjiocB b CTOpOHy napa Adeos. 3to
Hexoe «cynepnapo», b kotopom realtime -napo h KjiaccHuecKan
Linux BBinojiHinoTcn xax o6BiuHBie npoaeccBi, hto no3BOJineM hm
CBodoaHO odiaaTBcn Mencay co6oh. To ecTB, mbi ncnojiB3yeM mho-
ncecTBO BapnaHTOB cbh3h Mencay CHCTeMaMH, hto6bi realtime -
KOMnoHeHT OTBeTHji nepBBiM Ha 3anpocBi odopynoBaHHH, hto
nBjweTcn donee th6khm pemeHneM, Hencenn noaxoa RTLinux.
K concajieHHio, nnepHBiH MoayJiB a Jin aocTyna k realtime-KOMno-
HenraM napa Bee paBHO HeodxoaHM, hto ycjioxcHHeT peajiH3au;HK)
nojiB30BaTejiBCKoro no.
flji h pemeHHH othx npodneM OnjiHnn flncepoM, oaHH H3 pa3-
padoTHHKOB napa Adeos, npeaJioncHji cboio peajnoaiiHK), Ha3BaH-
Hyio RTAI/Fusion (BnocjieacTBHH Xenomai). OHa no3BOJinjia
npHMeHHTB odBiHHBie npnjiOHceHHH Linux, HcnojiB3yioiaHe CTaH-
aapTHBie bbi30bbi napa, ho npH 3tom BpeMH OTKJIHKa (response
time) 3thx npHjionceHHH 6bijio rapaHTHpOBaHHBiM, to ecTB npn-
6jiHHceHHBiM k TpedoBaHHHM hard-realtime. RTAI/fusion mohcct
padoTaTB b asyx pencHMax:
► «YcHjieHHBiH» — rapaHTHpyeT 6ojiee HH3Kne 3aaepncKH, ho ca-
Ma nporpaMMa aojinma 3aBnceTB tojibko ot B03M0HCH0CTeii, npe-
aocTaBjineMBix API RTAI. HeKOTOpoe kojihucctbo CHCTeMHBix
bbi30bob napa Linux peajiH3yeTCH RTAI, ho He Bee.
► Koraa BBinojiHHeMBiH npoaecc 3anpamHBaeT CHCTeMHBin bbi-
30B, KOTOpBIH He MOHCeT 6BITB peaJIH30BaH B «yCHJieHHOM» pencn-
Me, to CHCTeMa nepeBoanrcn b cjieayiontHH pencHM, Ha3BiBaeMBiH
«3aiaHiaeHHBiM». Oh noxonc Ha peajiH3au;HH ot MontaVista hjih
Hhto MojiHepa, to ecTB aocTynHBi Bee bbi30bbi napa, ho 3aaepxc-
kh Tonce BBime. «3aiaHiaeHHBiH» pencHM 3anpeiaaeT Bee 3anpocBi
Ha npepBiBaHne bo BpeMH BBinojmeHHH realtime -3aaauH, hto mo-
xeT TaKHce yBejiHHHBaTB 3aaepncKH.
npoaeccBi Moryr bbihojihhtbch KaK b «ycHjieHHOM», Tax h b
« 3aianiaeHHOM» pencHMe — Bee 3aBHCHT oh TpedoBaHHH 3 thx
npoaeccoB h peajiH3aiiHH aaHHBix TpedoBaHnii b RTAI.
riepcneKTMBbi
KaK npaBHjio, b 3aKjHoneHHe noaodHBix o630pOB nmiiyr o tom, kot-
aa tot hjih hhoh nam noHBHTCH b ochobhom nape Linux, HO nOKa HH
oaHH H3 onncaHHBix nameH ( 3 a HCKjnoneHHeM, MonceT 6 bitb, Moan-
(J)HKau;HH -ck) He 6 bui hphhht 6ojtblljhhctbom pa3pa6oTHHKOB napa.
OcHOBHBie npodjieMBi — oto CTadmiBHOCTB, KOTOpan MonceT nocTpa-
aaTB, h oGbcm Koaa, kotopbih Haao nepenncaTB. Bo3mohcho, Bee 3 th
HHHHH aTHBBI CTaHyT XOpOmHM KaTaJIH3aTOpOM aHH OTKpBITHH BeTKH
2.7, a MOHceT, h HeT, Tax KaK Ha npOBepKy 3 thx namen h hx aajiBHen-
mee yjiynmeHHe h pa3BHTHe HeodxoauMO BpeMH. |
flono/iHUTe/ibHan MHt|)opMaitMn
CcbuiKM no TeMe
Umk j\ 33MeTOK o realtime-B03M0>KH0CTHx Linux Ha LWN:
► http://lwn.net/Articles/106016;
► http://lwn.net/Articles/106010;
► http://lwn.net/Articles/129511;
► http://lwn.net/Articles/108216;
► http://lwn.net/Articles/96494;
► http://lwn.net/Articles/105866;
► http://lwn.net/Articles/129211.
nofl6opKa namew ot Con Kolivas ajih nflpa 2.6:
► http://members.optusnet.com.au/ckolivas/kernel.
nofl6opKa namew ot Con Kolivas ajih HApa 2.4:
► www.plumlocosoft.com/kernel.
Linux + PMutex txna ha pa 2.4:
► h ttp://i nf 3 - www .i nf ormati k. uni bw-
muenchen.de/research/linux/mutex;
► http://inf3-www.informatik.umbw-
muenchen.de/research/linux/hannover/automation_conf04.pdf.
RTAI/fusion/Xenomai:
► www.rtai.org;
► http://snail.fsffrance.org/www.xenomai.org;
► www.rtnet.org.
CHIP LINUX 4/2005
k o m a h a h a ii oh/iOHKa
KOHtpMrypMpoeaHMe m n p o r p a m m h p o b a h h e b zsh
77
CienaH 3aciynoB
ZaBMflHblM
KOHKypGHT bash
HaBepHoe, xa>XAbm no/ib30Baie/ib noA nomnneM shell noflpa3yMeBaeT mmchho
bash. He cnopx), 3Ta xoMaHAHaa 060/ioHxa AeMCTBme/ibHO He Taxaa n/ioxan,
MHane ee He cra/in 6bi ncno/ib30BaTb no yMO/iHaHmo b 6 o/ibWMHCTBe Linux-
AHcrpn6yTHBOB. OAHaKO, 6yAb OHa ASMCTBme/ibHO MAea^bHa, He cymecTBOBa.no
6 bi a/ibTepHaTMBHbix nporpaMMHbix npoAyxTOB. He roBopio npo csh/tcsh.
Tax xax y Hero coBepweHHO Apyron nyTb pa3BMTnn, n oh y>xe cra/i npnBbiHHoii
o6o/iohxom pjin mhotmx BSD-aAMMHMcrpaTopoB. Ho 3aneM ncno/ib30BaTb to,
hto ycTaHOB/ieHO no yMO/inaHnx), ec/in ecTb a/ibTepHaTHBa? I/I mjt eti — zsh!
Zsh — noxajiyh, caMan «HaBopoueHHa5i» h ^HHaMHUHO pa3BHBa-
lomaHCH odojiouxa. Ot aHajiorauHbix npo^yxTOB ee OTjnmaiOT
rudxaa xoHcjmrypaiiHH, yzjodHbie ajmacbi, MoayjibHaH CTpyKTypa
h caMaii Jiyumaii CHCTeMa aBTOMaTHuecxoro AonojiHemra. Bbi
MoxeTe CKa3aTb, hto y bash ecTb h ajinacbi, h aBTO^onojiHeroie ,
[~] cd articles/ny/necHMS mS ctmxm [ 17 : 45 ]
["Varticles/my/necHM m ctmxm] uin necoMHaaS KpoBb| [ 17 : 46 ]
20 s SCwepTBaS ABanyaTMS cieHS)
derMS otS cyAbdw
BMxtMraMS HaS cepAye
3 aMeMS WMTbS?
30BS KTynxy
KpacHweS c/ie3«S ropry/ibM
zieAMHaMS MorMna
meTaprMSi
AMKMS CMBpTM
Macopydxa
ocko/ikmS 3flBTPflKa
[ naCCMBHMMS KaHHM6a/lH3MS S ( TeopMMS CaMOyHMHTOH<8HM5lS)
noc/ie AOBa TenbHoc Tb
Inwnb
pwaBoeS Hedo
CKonbKoS ctomtS tbomS AywaS?
cnacMdoS TedeS 3 aS noBOAS ytiepeTb
TeneAMilbAOHMKa
3 TOS MaCTbS MeHM
ms MAy . . .
(lepeMemaeMcn no BapxaHTaM AononHemiH
ero M05KH0 yjiynniHTb c noMonjbio bash-complition, ho, aouHTaB
CTaTbio a o KOHu;a, bh ySe^HTecb, hto zsh ocTaBjnieT Bcex ^ajiexo
no3a#H. Ctoht jih roBOpHTb, hto zsh 3aMeHHji MHe Bee (JmHjiOBbie
MeHe^epbi — xax rpacjmuecxHe (Bpo^e Krusader), Tax h npe-
cjiOByTbih me? flyMaio, HauHHaTb jiyurne nocTeneHHO, c nepBbix
CTpouex KOH(J)HrypaLi;HH.
npiiMaiiieHiie
DiaBHbm KOH(J)HrypaLi;HOHHbiH (J>aHji .zshre flOJDxeH xpaHHTbcn
b BarneM AOManmeM KaTajiore. Ectb Taxxe (J>aHjibi .zlogin h .zlo-
gout, KOTOpbie BbinOJIHiHOTCH BO BpeMH BXOfla H BbIXOfla H 3 CHC-
TeMbl COOTBeTCTBeHHO.
Tax xax MHorne CHCTeMHbie nepeMeHHbie, ycTaHOBjieHHbie
nocTaBmHKOM AHCTpndyTHBa, HaxoAHTCH b (J>aHjie /etc /profile,
ero moxho 3 anycTHTb c noMonjbio kombh^bi source /etc/profile.
Kax yace 3 aMeuajiocb, zsh HMeeT MOflyjibHyio CTpyxTypy, h Hyac-
Hbie MOflyjin Taxxe cjie^yeT 3 arpy 3 HTb:
autoload -U compinit
compinit
autoload -U incremental-complete-word
4/2005 LINUX CHIP
78
advanced k o m a h a h a ii odo/iOHKa
IVuideo/Cradle of filth] >: [
116 : 18 ]
bash H He CHHJIHCb T 3 KMe
PS1
zle -N incremental-complete-word
autoload -U insert-files
zle -N insert-files
autoload -U predict-on
zle -N predict-on
Tenepb moxho npHCTynaTb k HacTponxe PS1. Boo6me, b zsh
TpaflHijHOHHO npHHHTO HcnojiL30BaTb nepeMeHHyio PROMPT,
ho PS1 Toac e 6yaeT paboTaTb.
Bot ocHOBHbie nepeMeHHbie, KOTOpbie MoryT 6biTb Hcnojn>30-
BaHbi b PROMPT:
► %{\e[l;32m%} — iibctoboh 6jiok; ko a UBeTa — KaK h y bash, b
A aHHOM cjiyuae 3ejieHbm;
► %M — nojiHoe hmh xocTa ManiHHbi;
► %m — hm n xocTa 6e3 AOMeHa;
► %n — hmh nojib30BaTejin;
► %~ — Texyman ^HpexTOpHn;
► %T — Texymee BpeMn b 24-uacoBOM cjiopMaTe.
Ecjih BaM 3Toro Majio (a Tax, cxopee Bcero, h ecTb), nocMOT-
pHTe AOKyMeHTaiaHK). Ctoht obpaTHTb BHHMaHne Ha to, hto y zsh
MoaceT 6biTb Tax Ha3biBaeMbiH «flBycTOpOHHHH» PROMPT! Y Me-
h r , x npHMepy, c jieBOH ctopohm OTobpajxaeTcn Texyman AHpex-
TopHH, a c npaBOH — BpeMn:
PROMPT=$'%{\e[l;32m%}[%{\e[l;34m%}%~%{\e[l;32m%
}] %{\e[l;31m%}%#%{\e[0m%} ’
RPROMPT=$’%{\e[l;32m%}[%{\e[l;33m%}%T%{\e[l;32m
%}]%{\e[0m%}’
Bee 3 to, xoHenHO, 3aMenaTejibHO, ho bojibniHHCTBO nojn>30-
BaTejien nonra Bcer^a paboTaiOT b rpac[)HuecxoH epe^e, h 6bijio
6bi He njioxo OTobpaxaTb HexoTOpyio HHcjDopMaiiHK) b 3arojiOBxe
oxHa TepMHHajia. K npHMepy, noMHMO nym bbi MOxeTe 3axoTeTb
HabjiiOAaTb Texymyio xoMaH^y, BbinojiHHeMyio b TepMHHajie. HeT
npobjieM! B zsh npHcyrcTByiOT jxbq cneiiHajibHbie cjiyHxiiHH: bbi-
nojiHiHOH^aHcn nepefl xaa^oii xoMaH^oh preemd, a Taxace preexec,
xoTOpax byaeT Bbi3BaHa nocjie BbinojiHeHHH xoMaH^bi. Hmh mbi
xax pa3 h BOcnojib3yeMC5i:
precmd()
{
[[ -t 1 ]] || return
case $TERM in
*xterm*|rxvt|(dt|k|E)term*) print -Pn
"\e]2;[%~] :: %l\a"
99
esac
HCTOpMfl
HeT, b 3toh pybpnxe bbi He HaH^eTe paccxa 3 o tom, xax co 3 fla-
BajiCH zsh. Peub non^eT o HacTpoiixe hctophh xoMaHfl.
Onpe^exHTb cjiaHji hctophh moxho cjie^yiomHM o6pa30M:
HISTFILE=~/.zhistory
Hhcjio xoMaHA, coxpaHHeMbix b HISTFILE:
SAVEHIST=5000
Hhcjio xoMaHA coxpaHHeMbix b ceaHce:
HISTSIZE=5000
JIhhho MHe 3 thx 3HaueHHH xBaTaeT, a bot hctophio HyacHO
eqe bxjhohhtb:
setopt APPEND_HI STORY
MeHH He yAOBjieTBOpiHOT noBTOpinomnecH xoMaH^bi, jiHHiHHe
npoGejibi h nycTbie CTpoxn b hctophh. 3Ta npobjieMa ycTpaHneT-
cn cjie^yiomHM o6pa30M:
setopt HI ST_I GN ORE_ALL_D UP S
setopt HIST_IGNORE_SPACE
setopt HIST REDUCE BLANKS
A/macbi
OGbihhbimh ajinacaMH hhxoto He y£HBHinb, TeM He MeHee
npHBea;y napy npHMepOB:
alias mkisofs='mkisofs -J -joliet-long -1 -max-iso9660-file-
names’
alias cdrecord='cdrecord -v -dev= 1,0,0'
Tenepb caMoe HHTepecHoe . B jho6om <J>aHji 0 B 0 M MeHe^acepe
MOvKHO npHBH3aTb nporpaMMy x pacniHpeHHK) hjih MIME-THny.
H3-3a 3 toto MHorne nojib3yiOTCx cjiabeHBXHM me hjih ace ouem>
«TH3cejibiMH» (b njiaHe Hcnojib3yeMbix pecypcoB) Konqueror h
N autilus h He xotht nonpoboBaTb hto-to Apyroe. Ho zsh Toace
yMeeT Ha3HauaTb ajinacbi no pacmHpeHHio:
alias -s {avi,mpeg,mpg,mov,m2v}=mplayer
alias -s {odt,doc,sxw,rtf}=openoffice.org
alias -s {ogg,mp3,wav,wma}=beep-media-player
alias -s pdf=xpdf
Bee, Tenepb bash tohho HauHHaeT c^aBaTb no3Hu;HH. A bot
turn 6pay3epOB pa3pa6oTUHXH HanncajiH OT^ejiBHBiH MOflyjib:
autoload -U pick- web -browser
alias -s {html,htm}=pick- web-browser
CxpnnT noAAepxHBaiOT Taxne 6pay3epbi xax Opera,
Konqueror, Lynx, Mozilla h ^pyrne. flyMaio, bbi caMH npn acejia-
HHH CMOXeTe HaHTH 3TOT CXpHnT H 3aMeHHTb Mozilla Ha jho6h-
mbih Firefox.
preexec () {
[[ -t 1 ]] || return
case $TERM in
*xterm*|rxvt|(dt|k|E)term*) print -Pn
"\e]2;<$l> [ %~ ] :: %l\a"
99
esac
AonosiHemie
Tenepb nepeH^eM x caMOMy HHTepecHOMy. Hh o#hh shell He HMe-
eT Taxon chjibhoh no^epacxH aBTOAonojiHeHHH, xax zsh.
CTaH^apTHbie cjiyHxiiHH, 3 axjnouaiomHec 5 i b #onojiHeHHH hmch
AH pexTOpHH h xoMaHA, ecTb y Bcex, a xax HacueT onu;HH onpe^e-
jieHHOH nporpaMMbi?
Bash HMeeT Taxyio bo 3 mojkhoctb, ho tojibxo 3 a cueT ycTaHOB-
xh naxeTa bash-complition, xoTOpbiit byaeT flocTaTOUHO chjibho
CHIP LINUX 4/2005
KCHtjiHrypHpcBauMB m n p o r p a m m h p o b a h h e b zsh
79
1^1 <5udn make kernel [/usr/sri:] :: p a mmm
auk -f P/tools/makeobjops.auk P/kern/deuice_if .m -h
auk -f P/tools/makeobjops.auk P/kern/bus_if .m -h
auk -f P/tools/makeobjops.auk P/deu/pc i/pci _if .m -h
rm -f .depend
CC=’/usr/local/libexec/ccache/cc’ nkdep -f .depend -a -nostdinc -D_KERNEL -DKL
DJ10DULE -I- -DHAUE_KERNEL_OPT ION_HEADERS -I. -IP -IP/contrib/altq -IP/ . ./includ
e - 1 /usr/ i nc 1 ude - 1 /usr/ob j/usr/src/sys/REDCHROMPC /usr/src/sys/nodu 1 es/amd/ . . / .
./deu/amd/amd.c
===> anr (depend)
P -> /usr/src/sys
machine -> /usr/src/sys/ i 386/ include
auk -f P/tools/makeobjops.auk P/kern/deuice_if .m -h
auk -f P/tools/makeobjops.auk P/kern/bus_if .m -h
auk -f P/tools/makeobjops.auk P/deu/pc i/pci _if .m -h
In -s /usr/obj/usr/src/sys/REDCHROMPC/opt_cam.h opt_cam.h
In -s /usr/ob j/usr/src/sys/REDCHROMPC/opt_scs i . h opt_scsi.h
rm -f .depend
CC=’/usr/local/libexec/ccache/cc’ mkdep -f .depend -a -nostdinc -D_KERNEL -DKL
DJ10DULE -I- -DHAUE_KERNEL_OPT ION_HEADERS -I. -IP -IP/contrib/altq -IP/ . ./includ
e - 1 /usr/ i nc 1 ude - 1 /usr/ob j/usr/src/sys/REDCHROMPC /usr/src/sys/modu 1 es/amr/ . . / .
./deu/amr/amr .c /usr/src/sys/modu 1 es/amr/. ./. ./deu/amr/amrjpci .c /usr /src/sy s/mo
dul es/amr/. ./. ./deu/amr/amr_disk.c /usr/src/sys/modu 1 es/amr/. ./. ./deu/amr/amr_ca
m.c
Cm th aji c MMKpotpOHa cjimujkom Ciiafibm, noaTOMy npHAeica
HeMHoro c hum nopadoTaib
£** f <tt view go Too** Help H
, T. ■ : •. 1 l •• ,
n m^nj-pKCMPMOtHio- □! „ Wi nil Ql^
rrccncoauta.inndqi m s
zsh
Tbs 3rfo St docuaati Zih. 1 6«bf mietik UNIX ceeanml tfoptctcr (ihefl). whcb of the ibdb bo« doteljr tttttrihJti the Keen Ad Qofe). t a
not canftedy corapebblt
Vernon 4 14, bit updjte i Fetcu mj X X»5
ii £ih Un ZHa
KaK HM KpyTM, HTOfibl B 0 C R 0/1 b 3 OB aTbCfl BCGM MOLUblO ZSh,
npMAeTcn HMTaTb AOKyMemauMio
T0pM03HTb caMy oSojiomcy. Zsh yxe «H3 kopo 6 kh» MOxeT Aonoji-
HHT B KOMaHAbl H AHpeKTOpHH, OmjHH OrpOMHOrO KOJIH^eCTBa
nporpaMM h cpa3y npe^CTaBjinTB Bee 3 to b bh rq Memo! R yace He
TOBOpK) npo Th 6 kOCTB HaCTpOHKH CHCTeMBI AOnOJIHeHHH H CKO-
Poctb, c KOTOpoh pa6oTaeT caMa oSojiomca, HecMOTpn Ha noTpu-
caiomyio (jjyHKijHOHajiBHOCTB. Kax Bcer^a He 3a6BiBaeM no,arpy-
3HTB HeKOTOpBie Heo6xO£HMBie MOflyjm:
zmodload -a zsh/stat stat
zmodload -a zsh/zpty zpty
zmodload -a zsh/zprof zprof
zmodload -ap zsh/mapfile mapfile
A Tenept moxho CMejio nepexo^HTB k HenocpeacTBeHHOH Ha-
CTpOHKe CHCTeMBI AOnOJIHeHHH. HtoSbi onpeACJiHTB OniJHH Hy3 C-
hoh (JiyHKiiHOHajiBHOCTH, Heo6xoAHMO BBi3BaTB cfiymoimo zstyle
c yxa3aHHeM no^CHCTeMBi h ee napaMeTpaMH.
CKyHHO CMOTpeTB Ha MOHOXpOMHyiO KOHCOJIB, B TO BpeMH KaK
KOMaH^a Is, HanpHMep, MoxeT no^CBemiBaTB Bee o6BeKTBi cjiaH-
JIOBOH CHCTeMBI pa3HBIMH IJBeTaMH. 3 t 0T0 MOJKHO AOShTBCH H C
noMonjBio zsh — 6jiaro,aap5i onu;HH list-colors, KOTOpan npHHH-
MaeT tot xe CHHTaKcnc yKa3aHHn ijBeTOB, hto h GNU Is. Cjie^o-
BaTejiBHO, MOXHO HcnojiB30BaTB nepeMeHHyio $LS_COLORS:
zstyle ' completion: *:default' list-colors '${LS_COLORS}'
Ho TaK KaK h pa6oTaio bo FreeBSD, a ycTaHOBjiemiaii TaM yra-
jiHTa Is HcnojiB3yeT Apyroii CHHTaKcnc, npHnuiocB HenocpeACT-
BeHHO yKa3aTB u;BeTa:
zstyle ' completion: *:default' list-colors
'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;3
5:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;31:'
flajiee BBi6epeM HeKOTOpBie omjHH, KOTOpBie 6y#yT HcnojiB30-
BaTBCH no yMOJinaHHio :
zstyle 'completion:*' completer _complete _list _oldlist _
expand _ignored _match correct _approximate prefix
zstyle 'completion:*' insert -unambiguous true
zstyle 'completion:*' add-space true
flonojiHeHHH ecTB h k KOMaH^aM kill h killall. Ohh H^yr no a
o6meii noacHCTeMoii processes. K npHMepy, moxho yxa3aTB ko-
MaHfly jinn nojiyneHHii ennexa npoijeccoB:
zstyle 'completion:* processes’ command 'ps -xuf
zstyle ':completion:*:processes-names' command 'ps xho command'
HjIH 3Ce OTKJIIOHHTB HX COpTHpOBKy:
zstyle 'completion:* processes' sort false
Ecjih xoneTcn nepeiiTH b apyryio ^HpeicropHio, HaxoaamyiocH, k
npHMepy, b npeaBiayuieH, to HajiHHHe b Bapnamax TeKyuieH ^HpeK-
TopHH HexejiaTejiBHo:
zstyle ':completion:*:cd:*' ignore-parents parent pwd
A BOT TaKHM o6pa30M MOvKHO OrpaHHHHTB HHCJIO OHIH 6 OK Ha Ka>K-
£bih chmboji aepeBa AonojmeHHH jio oahoh:
zstyle -e ':completion:*:approximate:*' max-errors 'reply=( $((
($#PREFIX+$#SUFFIX)/3 )) numeric )’
/],jhi noBBimeHHH ckopocth pa6oTBi nojiB30BaTejiii jiymne ot-
KJIIOHHTB pa3JIHHHe perHCTpOB!
zstyle 'completion:*' matcher-list ’m:{a-z}={A-Z}’
Mo:xho h nmopHpOBaTB BHyrpeHHne (JiyHKHHH ^onojiHeHHii:
zstyle ':completion:*:functions' ignored-patterns '_*'
Kax h yxe roBOpnji, moxho bkjhowtb Memo BBi6opa BapnaH-
tob AonojiHemm. K npHMepy, bbi xothtc otkpbitb oahh H 3 He-
CKOJIBKHX (J)aHJIOB, 3 . OHH Ha pyCCKOM H3BIKe — JieHB nepeidiOHaTB
pacKjiaaKy. npocTO nmneTe KOMaH^y (k npHMepy, vim), 3aTeM
npo6eji, Ana pa3a HaxHMaeTe KHonKy «Tab» — h MoxeTe nepeMe-
maTBCH no BapnaHTaM (b a^hhom cjiynae — (jianjiaM) KjiaBHinaMH
CTpejiOK hjih c noMomBio toh xe «Tab» h BBi6npaTB hx! Bot He-
CKOJIBKO CTpOK, KOTOpBie n03B0JI5H0T BCe 3TO npO^CJiaTB!
zstyle 'completion:*' menu select=long-list select=0
zstyle 'completion:*' old-menu false
zstyle 'completion:*' original true
zstyle 'completion:*' substitute 1
zstyle 'completion:*' use-compctl true
zstyle 'completion:*' verbose true
zstyle 'completion:*' word true
| Hanoc/ieflOK |
Bo 3 moxho, y Bac B03HHKHyr npo6jieMBi c pacno3HaBaHHeM Kjia-
bhih. 3 to pemaeTCH npocTBiM nepeHa3HaneHHeM KjiaBHin b zsh.
noHHTaiiTe no 3TOMy noBO^y AOKyMeHTaiimo .
Ha^eiocB, TenepB y Bac He ocTajiocB coMHemm b tom, hto
jiymne o 6 ojiohkh, neM zsh, nonpocTy He cymecTByeT, hto He o 6 h-
3aTejiBHO HcnojiB30BaTB $aHjioBBie MeHeAxepBi ajiu y,ao6cTBa pa-
6 otbi, a CTpeMjieHHe k acKeTH3My MO^ceT npHBecTH k y^o6cTBy |
4/2005 LINUX CHIP
80
advanced
a 1 M HI H CT p H p 0
a h h e
Cepreti Apemmyx
CeroflHfl pa3pa6oTHMKy n pun owe hum, ncno/ib3yiomMX Be6-TexHO/iornn,
Heo6xoflMMO pa36npaibcji b HacrpoMKax Apache, MySQL, PHP, Perl m nponux
npoflyKTOB HMHyTb He xywe ckicreMHoro aflMMHMCTpaiopa. ripn 3 tom BpeMfl,
KOTopoe o6biHHo Tpaimcn Ha noMCK, 3aKaHKy m ycraHOBKy, Momo 6bi 6biTb
ncno^b30BaHO 6o/iee papMOHa/ibHO.
Boo6me-TO, ceroaHa npaKTHuecKH bo Bcex ancTpndyTHBax
GNU/Linux yace HMeiOTca HeodxoaHMBie Rim pa6oTBi KOMno-
HeHTBi. B 6ojiBinHHCTBe cnyaaeB ohm totobbi k HcnojiB30BaHHio
cpa3y nocjie ycTaHOBKH. Pa3padoTUHKy ocTaeTca tojibko aoyc-
TaHOBHTB He^OCTaiOmHe npHJIOaceHHa HJIH MOAyJIH. To eCTB, (j)aK-
THnecKH mbi B03BpanjaeMca k caMOMy Haaaay, He roBOpa yace o
Heo6xoflHMOCTH nepnoaHuecKoro odHOBjieHHa Bcex KOMnoHeH-
tob; a a h HeKOTopBie MoayJin Tpe6yiOT nepeKOMnHjiaaHH Apache.
Ho ecjiH pa3pa6oTHHK ncnojiB3yeT Windows, to eMy Boodnje npn-
aeTca codnpaTB bcio CHCTeMy c Hyjia, nonyTHO pa3dnpaacB b aed-
pax KOH(J)Hrypau;HOHHBix (J>aHjiOB h omjHH HacTpoex. K TOMy ace
3 th cjianjiBi npnaeTca peaaKTHpOBaTB BpyuHyio, uto oaeHB HenpH-
BBIUHO n0JIB30BaTeJIHM a&HHOH CHCTeMBI.
EcTecTBeHHO, 3Ta npodaeMa He ocTajiacB He3aMeaeHHoii, h b
HacToanjee BpeMa H3BecTHO hcckojibko npoeKTOB, 3aaaaen koto-
pBix aBjiaeTca ynaxoBKa Bcex HeodxoaHMBix 3JieMeHT0B b eaHHBiii
MO^yJIB, KOTOpBIH MOaceT 6BITB JieTKO yCTaHOBJieH , odHOBJieH H
Taxace 6e3 npodaeM yaaaeH, ecjiH b HeM yace He dyaeT Heodxoan-
mocth. Cpean TaKHx npoeKTOB HandojiBinen nonyjiapHOCTBio
nojiB3yiOTCii «fleHBep» (www.dklab.ru), AppServ (www.appserv-
network.com) h XAMPP (www.apachefriends.org). Kaacabiii H3
hhx, Ka3ajiocB 6bi, noxoac Ha ocTajiBHBie, h b nepByio oaepeaB —
OCHOBOH, KOTOpOH BO BCeX 3THX npOeKTaX nBJineTCn CBH3Ka
Apache+PHP+MySQL. Ho aonojiHHTejiBHO KpOMe 6a30Boro
Hadopa npHjioaceHHH KaacaBin H3 othx npoeKTOB npeaJiaraeT
paCniHpeHHB, n03B0JI5H0mHe HapaCTHTB B03M0aCH0CTH h HacTpo-
htb CHCTeMy no a HHflHBHflyajiBHBie noTpedHOCTH Be6-MacTepa.
Ecjih npHniaaeTBca noBHHMaTejiBHee, Moaoio yBHaeTB h ot-
jihuhh. Tax, «fleHBep» npeaHa3HaaeH Rim pa3padoTKH caifroB
b Windows, ho c pacaeTOM Ha to, uto b aajiBHeinneM B Kaue-
CTBe CHCTeMBI dyaeT ncnojiB30BaTBca Unix. HHTepecHO, uto 6a-
30BBIH Ha6op KOMnOHeHTOB B <<ZJeHBepe», HMeiOmHH pa3Mep
Bcero 3 M6aifr, BKjnouaeT b ceda okojio 30 Mdaifr npHjioaceHHH,
KOTOpBie nojiB30BaTejno npHmjiocB 6bi caMOCToaTejiBHO KauaTB
H3 HHTepHeTa b cjiyuae HHaHBHayajiBHoii ycTaHOBKH. 3toto yaa-
JIOCB aOCTHUB 3a CUeT H3BHTH5I HeKOTOpBIX pe^KO HCnOJIB3yeMBIX
KOMnOHeHTOB (Bee ohh BBiHeceHBi b MOflyjiH pacniHpeHHii) , a
Taioxe KOMnpeccHH.
Eine o^hoh oco6eHHOCTBio aBjiaeTca 3MyjiHTOp sendmail, no3BO-
jiniomHH «OTnpaBjiHTB» nHCBMa. KpOMe toto, cyinecTByeT ancKeTHaa
BepCHH «fleHBepa». fljia pa3padoiuHKOB, HcnojiB3yK)inHx Windows,
npeaHa3HaneH h AppServ. B OTjiHune ot ocTajiBHBix oh He coaepaurr
Perl, ho HHTepeceH aonojiHHTejiBHBiMH MoaynaMH, cpean kotopbix
phpBB, Zend Optimizer, Mambo, Drupal h apyrne. A bot XAMPP
BBiaejiaeTca cpean hhx He tojibko 6ojibihhm KOJinuecTBOM KOMno-
HeHTOB, Bxoaainnx b 6a30BBiii cocTaB (npaBaa, h pa3Mep no3TOMy ao-
CTnraeT 40 M6anT). 3aecB npHcyrcTByiOT Apache, MySQL, PHP,
Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg,
libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class,
ncurses, mod perl, FreeTDS, gettext, mcrypt, mhash, Turck
MMCache, SQLite h IMAP C-Client. B 6yaymeM iuiaHHpyeTca ao-
daBHTB Java 2 SDK h Tomcat. npeacTaBBTe, hto 6bi 6buio, ecjrn 6bi
BCe 3TO npHIILJIOCB yCTaHaBJIHBaTB CaMOCTOaTeJIBHO.
XAMPP oaeHB npocTO oOhobjuitb, h caMoe raaBHoe — HMeiOTca
BepCHH arta pa3aHHHBix chctcm. Ha ceroaHamHHH aeHB hx aeTBipe:
► arta Linux (pa3pa6oTHHKaMH TecmpOBajiHCB BepCHH noa SUSE,
Red Hat, Mandrake h Debian, aBTop aenan oto Taicace noa
ASPLinux, ALT Linux, VectorLinux);
► aJia Windows 98, NT, 2000, 2003 h XP;
► deTa-Bepcna ami Solaris SPARC;
► deTa-Bepcna ami Mac OS X.
PacnpocTpaHaeTca XAMPP no jiHiieH3HH GNU GPL, xoTa npn
KOMMepaeCKOM HCnOHB30BaHHH CTOHT odpaTHTB BHHMaHHe Ha JIH-
u;eH3HH OTaeaBHBix npoayKTOB, Bxoaainnx b KOMiuieKT.
Kax yace roBOpnaocB, ycTaHOBKa XAMPP aoBOHBHO npocTa.
fljia Windows OHa TpaaHijHOHHa h 3aKjnoaaeTca b pacnaKOBKe
apxHBa h 3anycKe ncnoaHaeMoro 4>aiiaa. B cayaae ycTaHOBKH b
L inux Taioxe ocoGbix TpyaHOCTen He B03HHKaeT.
CHIP LINUX 4/2005
HacTpoMxa XAMPP
81
CKanHBaeM apxHB, pacnaKOBBiBaeM ero:
# tar xvfz xampp-linux-1.4.13.tar.gz -C /opt
Bot h Bee. Tenepb mo>kho 3anycKaTb (rpe6yiOTCH npHBHjierHM root).
# /opt/lampp/lampp start
Starting XAMPP for Linux 1.4.13...
XAMPP: Starting Apache with SSL (and PHP4)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
HHTepecHO, hto b coeraBe XAMPP HMeeTcn PHP BepCHH 4 h 5.
Ta, hto Hy>KHa, aKTHBupyeTcn KOManaoir php c yKa3aHHeM HOMepa.
# /opt/lampp/lampp php5
XAMPP: Activate PHP 5.0.4...
XAMPP: XAMPP-Apache is not running.
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
Kaxan BepCHH ceimac aKTHBHpOBaHa, moxho y3HaTB npn noMO-
mn phpinfo(), jih6o BBe^n cjieAyioiuyio KOMaH^y:
# /opt/lampp/lampp phpstatus
Ecjih HeT Heo6xoAHMOCTH b CTapTe Bcex cepBHCOB, MOvKHO 3any-
CKaTB HX nOOAHHOHKe:
# /opt/lampp/lampp startapache
ZJjih 3anycxa c noAaepxKOH SSL oto GyzteT BbinmaeTb Tax:
# /opt/lampp/lampp startssl
Ha6wpaeM b 6pay3epe http://localhost (hjth https ://localhost — npn
3anycKe c nojmepxKoii SSL) h cmotphm Ha pe3yjibTaT pa6oTbi.
3aecb MOvKHO 03HaK0MHTbCH CO CTaTHCTHKOH pa60TbI, KOMnOHCHTa-
MH, BXOAHIIJHMH B COCTaB XAMPP, nOJiyUHTb JIOCTyn K HHCTpyMeH-
TaM ynpaBjieHHH h c6opa CTaraciHKH PhpMyAdmin, webalizer h
phpSQLiteAdmin, yBHaeTb pe3yjibTaT padoTbi aeMOHCTpaHHOHHbix
npHMepOB. no yMOJiHaHHK) juih onepauHH c 6a3aMH aaHHbix, FTP h
npoueii HH(J)opMaHHeH XAMPP He Hcnojib3yeT napojin, a oto He6e-
3onacHO. AuMHHHCTpaTOp MySQL He HMeeT napojin, h k aeMOHy
MOvKHO nojiyHHTb ^ocTyn uepe3 ceTb. Taioxe ^ocTyneH H3 ceTH
PhpMyAdmin, a ProFTPD juih nojib30BaTejiH nobody TpebyeT na-
pojib lampp. Ecjih BaM npeacTOHT pa6oTan> Hepea HHTepHeT, oGim-
TejibHO Hcnojib3yHTe KOManay security h ycTaHOBHTe napojiH, HHaue
Bam KOMnbiOTep pncxyeT CTaTb jierKoii MHmeHbio jijw ceTeBbix BaH-
aaiiOB. YcTaHOBjieHHbiH TaKHM o6pa30M napojib npHMeHHeTcn ajih
aocTyna k tcctoboh CTpaHnue, hm nojib30BaTejiH — lampp.
/Lira coxpaHeHHH HacTpoex, cfraHjioB aaHHbix h xcypHajiOB ncnojib-
3yeTCii KOMaHaa backup. Cpejm aonojiHemm Ha CTpaHuue npoex-
Ta HMeeTCB tojibko Development package, coaepxamuH HHCTpy-
MeHTbi, no3BOJi5uomHe CKOMmumpoBaTb HeaocTaiomHe komhohchtbi
caMOCTOBTejibHO. ToTOBbie flonojiHeHHB moxcho HaiiTH Ha caiiTe
http://addons.xampp.org. TaM xopomo 0praHH30BaH noncK no rpyn-
naM (Apache, MySQL, PHP, Perl Mailserver, Misc) h BepcmiM XAMPP.
Ecjih HeoGxo^HM aBTOMaTHuecKHH 3anycx XAMPP npn 3a-
rpy3Ke CHCTeMbi, co3#aHTe CHMBOJinuecKyio ccbuixy Ha ncnojib-
3yeMbiii ypOBeHb 3anycKa:
# egrep initdefault /etc/inittab
id:5:initdefault:
# In -s /opt/lampp/lampp /etc/rc5.d/S991ampp
Kax yxe roBOpnjiocb, XAMPP mojkho oGhobjiutb. 3to no3BO-
juieT He CKauHBaTb 3aHOBO Becb naiceT, k TOMy xe Bee HacTpoiiKH h
paGomie (jianjibi Gy^yr coxpaHeHbi. J\jw oGhobjichhh HeobxoAHMO
CKanaTb naiceT, KOTOpbiii Ha3biBaeTC5i xampp-linux-upgrade, h pac-
naKOBaTb ero (MecTO pacnaxoBKH 3HaueHHn He HMeeT):
$ tar xvfz xampp-linux-upgrade- 1.4. 13.tar.gz
Tenepb ^a^HM KOMaH^y Ha obHOBjieHne:
$ su
# xampp-upgrade/start
Bot h Bee. Hamuiaii c BepCHH 1.4.2 XAMPP no3BOjmeT co3#a-
BaTb pe3epBHbie kohhh. JXjw ototo BOcnojib3yiiTecb KOManaoii
backup (hjih backup mysql_password):
# /opt/lampp/lampp backup
Backing up databases...
Backing up configuration, log and htdocs files...
Calculating checksums...
Building final backup file...
Backup finished.
Take care of /opt/lampp/backup/xampp-backup-22-09-05.sh
OaiiJi /opt/lampp/backup/xampp-backup-22-09-05.sh co^ep-
JKHT Tenepb pe3epBHbie ^amibie. 3anycTHB cjie^yiomHH CKpnnT Ha
KOMnbiOTepe c toh xe Bepcneii XAMPP, bbi nojiyuHTe TOHHyio ko-
nmo coxpaHeHHoii paGoueii cpe^bi:
# sh xampp-backup-22-09-05.sh
Checking integrity of files...
Restoring configuration, log and htdocs files...
Checking versions...
Installed: XAMPP 1.4.13
Backup from: XAMPP 1.4.13
Restoring MySQL databases...
Restoring MySQL user databases...
Backup complete. Have fun!
You may need to restart XAMPP to complete the restore.
nocjie BOCCTaHOBjieHHn TpebyeTcn nepe3anycTHTb XAMPP.
KcTaTH, jura ero yaajieHHH aocTaTOHHO H36aBHTbcn ot xaTajiora:
# rm -rf /opt/lampp
Tenepb, xor^a HMeeTcn roTOBan k paboTe cpe^a, moxho CMejio
npHCTynaTb k C03jiaHHK) npnjioxeHHH. |
4/2005 LINUX CHIP
82
hardware
c m c t e m a
BflMecnaB Xyaakob
Komc|dopt — fle^o TexHMKM. B tom HMc/ie m tom, c KOTopoPi Bbi pa6oTaeTe
KajKflbm fleHb. I/I ec/in b Windows npuxoAMTOi no/ib30BaTbai TeM, hto ecTb,
to b Linux hukto He MeiuaeT HaM HacrpoMTb CMcreMy noA ce6fl.
He ctomt Aa>Ke roBopnTb o tom, hto pa6oTa c K/iaBi/iaTypon AJifl HacrofUAero
KDHMKCOMAa — 3TO KaK «0THe HaW» A/lfl BbinyCKHMKa BOCKpeCHOii III KO/1 bl .
A y>K ec/w Ha stoh K/iaBnaType ecTb Aono/iHMTe/ibHbie KHonKn, to npoao
rpex mmm He BOcno/ib30BaTbCfl.
Pa60MHH Ka6HHeT 3anOJIH5UIH 3ByKH «JIyHHOH COHaTbI». HeO>KH-
AaHHO pa 3 aajicn 3bohok TejiecjDOHa, h r noTHHyjicn k Tpy6Ke, HaxcaB
Ha KjiaBHaType KOMnbiOTepa KHomcy «Mute». 3bohhji HauajibHHK.
MHHyr uepe 3 anaaitaTb, yrepeB noT co Ji6a h otomb H 3 KpyacKH oc-
tbibihhh k TOMy MOMeHTy nan, r o6jtokothjtch Ha cnHHKy Kpecjia,
nonrpajl B B 03 £yxe pyUKOH C (J)HpMeHHOH CHMBOJIHKOH KOpnOpau;HH
h, eme pa3 HaxcaB Ha KjiaBHaType «Mute», a noTOM h «Volume up»,
KJiaBHinaMH «Prev», «Next» BBi6paji cayiwpeK k «MaTpHu;e» h
npHHHJICH BBinOJIHHTB CKpOMHyiO pa60Ty CHCTeMHOrO a^MHHHCTpa-
Topa — BepniHTB cyab6bi nojib 30 BaTejieH h npaBHTb IT-mhpom.
MyjibTHMeflHHHbie KJiaBHaiypbi rjir nepcoHajibHbix KOMnbiOTe-
pOB H MyjIbTHMeflHaKHOnKH Ha HHX nOJiyHHJIH IHHpOKOe paenpOCT-
paHeHne OTHOCHTejibHO He^aBHO. Ho ecjiH noa Windows ohh, KaK
npaBHJIO, BbinOJIHHIOT CBOK) pOJIb flOBOJIbHO HCnpaBHO, TO Ha
Linux- aecKTonax nacTO cmotpht Ha Hac c hcmbim yxopOM. A m ex-
ay TeM hm MOvKHO Ha3HauHTb Maccy nojie3Hbix (J>yHKHHH: nepejiHC-
TbiBaTb TepMHHajibi b kohcojih KHonKaMH «Windows», ynpaBjiHTb,
Bbi3biBaTb pa3JiHHHbie npHjioxeHHH (6pay3epbi, nouTOBbie KjineH-
Tbl). floCTaTOHHO JIHIHb npOH3BeCTH HeodxO^HMbie HaCTpOHKH.
HTaK, jxjvr ceroaHHnmero OKcnepHMeHTa HaM noHaaodHT-
c r caeayiomee: jnodan KjiaBHaTypa c MyjibTHMeaHaKJiaBHinaMH;
nporpaMMbi showkey, setkeycodes, loadkeys (ohh bxorrt b tibkqt
console-tools dojibniHHCTBa ancTpHdyTHBOB), xev, a Taxace ermixer
h xmmsctrl — ecjiH mbi xothm 3aaeHCTBOBaTb ynpaBjieHHe mieepOM
XMMS. Bee onncaHHbie MaHHnyjiHiiHH npOH3BoaHjiHCb Ha Manm-
He c flHCTpHdyTHBOM Mandrake Linux h ycTaHOBjieHHbiM KDE, xo-
t r Moryr npHMeHHTbcn k jnodoMy ancTpHdyraBy c apyrHM okoh-
hhm MeHe^xcepOM.
HacTpowKa, qaerb nepBan. X Window
fljin Hauajia 3anycKaeM b console ot hmchh root nporpaMMy xev.
nepea HaMH noaBjineTcn okouiko «Event Tester» c KBaapaTOM BHy-
TpH. noMemaeM Kypcop mbiuih BHyrpb Hero h nocjieaoBaTejibHO
HaxHMaeM MyjibTHMeaHaKjiaBHniH. B pe3yjibTaTe b OKHe TepMHHa-
jia OTodpaxaiOTcn cjieayfomne co 6 bithh, c o otb ctct By k) llih e Haxca-
thk) Ha onpeaejieHHyio KHomcy:
KeyPress event, serial 30, synthetic NO, window 0x3e00001,
root 0x48, subw 0x0, time 11616554, (170,-16), root:(173,34),
state 0x0, keycode 160 (keysym OxffdO, F19), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilter Event returns: False
KeyRelease event, serial 30, synthetic NO, window 0x3e00001,
root 0x48, subw 0x0, time 11616673, (170,-16), root: (173,34),
state 0x0, keycode 160 (keysym OxffdO, F19), same_screen YES,
XLookupString gives 0 bytes:
CHIP LINUX 4/2005
My/lbTMMeUMMHbie KJiaBMaiypbi
83
H 3 Been nojie3HOH HHcjDopMaijHH, xoTOpaa Tyr HMeeTca, Hac
HHTepecyeT 3HaaenHe keycode. Kax bhahm, rjw AaHHOM MyjiBTH-
MeAHaKHOnKH 3TO 160. JXsin aXTHBaHHH 3T0H KJiaBHIHH Heo6xOAHMO
b cxpmiT aBT03anycKa KDE Ao6aBHTB ee MannHHr Ha Hexyio BHpTy-
ajiBHyio KjiaBHiny. IloMemaeM b ~/ . kde/ Autostart /cxpHnT keys.sh:
xmodmap -e 'keycode 160 = F19'
TaxHM o6pa30M, «MeAHHHyio» xHonxy mbi np e Bp aTH jih b BHp-
TyajiBHyio xjiaBHiny «F19». AnajiorHHHBiM o6pa30M axTHBHpyeM
Bee ocTaBnmeca xHonxH. Tenepb Rim peajiH3au;HH xaxoro-jiHdo
AeHCTBHii c hx noMombio AOCTaToano 3anycTHTB LJemp ynpaB-
JieHHH KDE H HaCTpOHTB B HeM npHB5I3Xy ACHCTBHH. fljia
HacTpOHXH rpOMxocTH mbi HcnojiB3yeM yTHjiHTy ermixer, 3anyc-
xaa ee co cjieAyiomHMH napaMeTpaMH rjiz yMeHBineHHa h yBejin-
neHHH 3Byxa cooTBeTCTBeHHo :
ermixer vol -1
ermixer vol + 1
ILieepOM XMMS moxho ynpaBjiaTB c noMomBio yTHjiHTBi
xmmsctrl, HacTpOHB MyjiBTHMeAHaxjiaBHiHH Ha nepexjuoaeHHe
TpexoB h ynpaBjieHHe BOcnpOH3BeAeHHeM:
xmmsctrl next
xmmsctrl prev
xmmsctrl play
xmmsctrl stop
HacrpoMKa, Hacrb BTopaa. KoHco/ib
Kax H3BecTHO, npH padoTe b xohcojih Linux b tcxctobom pe-
xHMe nojiB30BaTejno AOCTynHBi rnecTB TepMHHajiBHBix ceaH-
cob, nepexjHonaeMBix xHonxaMH «Alt+Fl... F6». fljia dojiBine-
ro yaodcTBa a npeAJiaraio Ha3HauHTB hx nepexjnoaeHHe Ha He
HcnojiB3yeMBie b xohcojih xjiaBHHiH. fljia xjiaBHaTyp c xHonxa-
mh BBi30Ba CTapTOBoro h xoHTexcTHoro MeHio Windows Taxaa
bo3mojkhoctb H3HauajiBHO npeAycMOTpeHa b jho6om Linux-
AHCTpHdyTHBe. Ho, cxaaceM, Ha HoyTdyxax ot IBM XHonxH
Windows OTcyTCTByiOT, OAHaxo hx pojib c ycnexoM MoryT CBir-
paTB Apyrne xjiaBHHiH.
fljiH hx noaxJHOHeHHa 3anycxaeM ot hmchh root showkeys -s h
nocjieAOBaTejiBHO HaacHMaeM xjiaBHnm, xoTOpBie 6yAyr BBinoji-
hhtb nepejiHCTBiBaHHe xoHCOJieir. Cmaajia jieByio, noTOM npaByio:
# showkey -s
OxeO 0x20
OxeO OxaO
OxeO 0x6f
OxeO Oxef
OcHOBHan cjioxhoctb coctoht b tom, HTO paccMaTpHBaeMBie
AonojiHHTejiBHBie xjiaBHnm npn HaacaTHH reHepHpyiOT He cxaHxo-
Abi, xax o6bimho, a nocjieaoBaTejiBHOCTB cxaHxoaoB, HanHHaiomy-
loca c eO. nepBan nocjieAOBaTejiBHOCTB xoaob, Tax Ha3BiBaeMBiH
Make Code, OTBeaaeT 3a HaacaTne xjiaBHnm. BTOpaa nocjie^OBa-
TejiBHOCTB, Break Code, — 3a ee OTnycxaHHe.
fljiH toto hto6bi bhccth b pacxjiaaxy xjiaBHaTyp bi , 3arpyacaeMyio
nporpaMMoii loadkeys, xaxyio-jindo xjiaBHiny, Haao 3HaTB ee key-
code — hhcjio ot 0 ao 127, xapaxTepH3yiomee tojibxo 3Ty xjiaBHiny.
ymjiHTa setkeycodes xax pa3 CBH3BiBaeT HexoTopyio 3aAaHHyio no-
cjieAOBaTejiBHOCTB cxaHxoAOB c yxa3aHHBiM keycode. HTax, b
cxpnnTe HHHu;HajiH3au:HH xjiaBHaTypBi (b Moeir CHCTeMe oto
/etc/init.d/keytable) a Hanncaji a Be CTpoaxn:
setkeycodes e020 113
setkeycodes e06f 112
B AaHHOM cjiyaae e020 — 3to nocjieAOBaTejiBHOCTB, creHepHpo-
BaHHaa npH HaacaTHH Ha jieByio xjiaBHiny nepexjuoaeHHa xohcojih,
e06f — Ha npaByio, xax bhaho H3 jiHCTHHra showkey.
3aTeM HeodxoAHMO ao6abhtb b pacxraAxy xjiaBHaTyp bi ah a
xohcojih (oGbihho OHa HaxoAHTca b /usr/share/keymaps) ABe
CTpoaxn, xoTopBie axTHBHpyiOT B03M03CH0CTB nepeMenjaTBca no
xoHeojiaM BnpaBO-BaeBo:
keycode 112 = IncrConsole
keycode 113 = Decr_Console
Kax bhahm, HeT HHaero oco6o cjioacHoro b tom, hto6bi 3acTaBHTB
«jihi HHne» xHonxn Ha xjiaBHaType padoTaTB Ha Bac. H eAHHO>KABi
HacTpOHB hx, bbi coxoHOMHTe Maccy BpeMeHH b AajiBHeiuneM. |
4/2005 LINUX CHIP
84
hardware
c m c t e m a
AneKcaHAp Ky3bMeHK0B
riofl Linux pa6oTaeT npaKTnnecKM jiio 6 om Wi-Fi-aflaniep. Tax hto mo>kho
B bi6upaib caMoe AOCTynHoe no peHe pemeHne (kohghho we, H3 ycrponcTB
K/iacca 802. llg, noTOMy hto bo mhotux Mara3MHax eme npoflaioTca
aflamepbi ycrapeBwero CTaHflapTa 802.11b). Ho roTOBbTecb k TOMy,
HTO He Bee OHM 3apa6oTaiOT aBTOMaTMHeCKM — B03M0JKH0, npnfleTCfl
npn/iownTb HeKOTopbie AononHMTenbHbie ycn/ina.
Boo6me-TO, aejia c noaaepxKOH Wi-Fi- o6opyaoBaHHH b Linux 06-
ctoht aoBOJibHO CTpaHHO. axe b caMOM CBexeM nape noaaepxxa
6ecnpOBOAHbix ceTeBbix xapT aoeojibHO cjiadan: xoporno pa6oTaiOT
jihihb aaanTepbi Ha nunax Aviator/Raytheon, Intersil HFA384,
Intersil Prism GT, Amtel at76c50x, Cisco Aironet 34x/35x/4500/4800
h Planet WL3501. IIpHneM, xax noKa3ajia npaKTHKa, npn noKymte
y3HaTb nnn, Ha kotopom C03aaH ananTep, npaKTHHecKH HeB03M0x-
ho. TeM 6ojiee hto npOH3BoairrejiH decnpOBoaHoro odopyaoBaHHH
HMeiOT aypHyio npHBbiHKy BbinycKaTb oaHy h Ty xe Moaejib Ha pa3-
Hbix nnnax. Tax, HanpHMep, nonyjiHpHbm PCMCIA Wi-Fi-aaanTep
D-Link DWL-G650+ BbinycxajiCH b Tpex pa3JiHHHbix BapnaHTax: Ha
unnax ACX100, ACX111 (Rev. Al) h Til 130 (Rev. B). EcrecTBeHHO,
HHKaKHx ynoMHHaHHH o tom, k KaKOH peBH3HH npHHaajTexHT Bama
KapTa, Ha Kopodxe bbi He odHapyxnTe.
3acTaBHTb HopMajibHo paGoTaTb cBodoaHbrii apaHBep, xax
OKa3ajiocb, He Tax yx h npocTO, oaHaxo b dojibniHHCTBe cjiynaeB
3T0T0 H He HyXHO.
CymecTByeT oaHO yHHBepcajibHoe pemeHHe, o kotopom ahxo-
Teji 6bi paccKa3aTb, — 3 to ndiswrapper.
| ripiipyMaeM Wi-Fi-aflamepbi |
Ndiswrapper — 3 to MoayJib k napy Linux, ho3bojihk)liihh ncnojib-
30BaTb NDIS-apaiiBep ana decnpOBoaHbix ceTeBbix xapT, HaraicaH-
Hbiir aJm Windows 2000/XP/2003. fla, c ndiswrapper moxho 3acTa-
BHTb padoTaTb npaKTHnecKH jho6oh Wi-Fi-aaanTep h 6e3 npodjieM
Hcnojib30BaTb WEP-mH(J)pOBaHHe.
Co cnncKOM npOTecTHpOBaHHbix (h padoTaiontHx) aaanTepOB
moxho 03HaK0MHTbcn Ha caifre http://ndiswrapper.source-
forge.net/mediawiki/index.php/List. Ecjih HyxHOH MoaejiH b
cnHcxe He OKa3ajiocb, He OTnaHBaHTecb — cxopee Bcero, om 3apa-
6oTaeT, h bbi caMH CMOxeTe aodaBHTb ee b otot nepeneHb.
| YdaHOBKa |
Ilpexae neM dpocaTbcn b 6oh, BbineftTe nameuKy Kocjie h 3aoa-
ho nocMOTpHTe — 6biTb MOxeT, ndiswrapper yxe ecTb b BameM
aHCTpHdyTHBe? Ecjih Tax, to BaM noBe3Jio: nepexoanTe cpa3y k
cjieayiomeMy pa3aejiy.
JXjw ycTaHOBKH ndiswrapper noTpedyiOTCH KOMmuiHTOp GCC h
ynuiHTa GNU make. OdpaTirre BHHMaHHe, hto ndiswrapper MOxeT
padoTaib TOJibKO Ha hobhx napax (BepCHH Bbime 2.4.26 h 2.6.6). Ecjih
y Bac 6ojiee CTapoe aapo, pexoMeiiayio o6hobhtb CHCTeMy.
Taxxe noTpedyiOTCH ncxoaHbie TexcTbi Bamero napa, npHneM
hx jxejiaTejibHO 6paTb H3 aHCTpndyTHBa, Tax xax npaxTHnecKH
xaxabiii aHCTpHdyTHB odjiaaaeT cbohm napOM c codcTBeHHbiM
HadopOM naTHeh. Bepcnio napa moxho y3HaTb c noMontbio ko-
MaHabi uname -r.
Flocjie ycTaHOBKH HexoaHbix tckctob nap a ydeanTecb, hto xaTa-
jiot /lib/modules/<BepCHH_Bamero_Hapa>/build HBjineTCH ccbiji-
KOH Ha aHpeKTOpHIO C HCXOaHbIMH TeKCTaMH!
# Is -1 /lib
lrwxrwxrwx 1 root root 21 2005-11-14 16:56 /lib/mod-
ules/2.6. 12/build -> /usr/src/linux-2.6.12
CHIP LINUX 4/2005
HacrpoMKa Wi-Fi-aflantepa
85
Wi-Fi-aflamep D-Link DWL-G520+
Ecjih HeT, to cjreAyeT nonpaBHTb ccbuncy, HHane ndiswrapper
npocTO He CKOMmuiHpyeTCii:
# In -sf /usr/src/linux-<BepcHfl_5mpa> /lib/modules/
<BepcHn_5mpa>/build
Tenepb 3arpy3HTe apxHB co CBeaceft Bepcneft hcxo^hbix tckctob
ndiswrapper (http://sourceforge.net/projects/ndiswrapper) h pacna-
Kyifre ero Kyua-Hudynb, HanpHMep b KaTajior /usr/src:
# cd /usr/src/
# tar zxvf ndiswrapper- 1.5.tar.gz
Ecjih bbi Hcnojib3yeTe caMoe CBexee n^po, HMeeT cmhcji 3arpy-
3HTb nocjieflHioK) Bepcnio ndiswrapper c cvs:
# cd /usr/src
# cvs -z3 -
flono/iHMTe/ibHaa MHcJjopMauMfl
fpa^HHecKMe yaodcTBa
KoHeMHO, nonb30BaTbcn xoh-
conbHbiMM wireless-tools He
OMeHb yao6ho, oco6chho ec-
jih Bbi npMBbiKUM pa6oTaTb
b yao6hom rpacfennecxoM ox-
pynceHMM n b KOHconb 3axoAH-
Te peAKO. B 3tom cjiynae mo>x-
ho nopexoMeHAOBaTb ot/ihm-
Hyio anbTepHaTMBy — yummy
Kwifi Manager (www.kde.org),
C HeAdBHMX nop BXOAfl-
myio b codaB KDE (naxeT
kdenetwork). 3ia nporpaMMa
yMeeT OTo6pa>xaTb ypoBeHb
CMTHana b cmctcmhom Tpee
KDE/GNOME, hto oneHb yAo6-
ho. Edb onuim 3ByxoBoro
onoBeiueHMu (npn Haxo>XAe-
h mm ceTM nporpaMMa 3ann-
iamt) — none3Han (JjyHXAHn,
npnroAHTcn p,nn juo6vnenev\
norynuTb c Hoyi6yxoM B03ne
xaxoro-Hn6yAb noconbCTBa.
Ecjih Bac no xaxHM-TO npHMHHaM
He ycipaMBaeT KwifiManager,
B3rjinHHTe Ha WiFi Scanner —
ee HHTepcjjeMC Bbino/iHeH cpeg-
CTB3MH nceBAOrpac|}HKH.
OAHaxo caMOH cjjyHXUHOHanb-
hom nporpaMMOM f\na Wi-Fi
UBjineTcn nonyjinpHan Kismet
(www.kismetwireless.net).
KpoMe noHcxa h cxaHHpoBa-
HMu ceien 0Ha yMeeT nepexBa-
TblBdTb He3dLUH(|}pOBaHHblH
ipacf)Hx h HMeeT MexaHH3M
o6Hapy>xeHHn aiax. Ben 3Ta
Moiub cxpbiTa b HenpuMeT-
HOM KOHCOJlbHOM HHTepc()eHCe,
OAHaxo nnn Kismet Hannca-
ho MH0>xecTB0 rpac|)HMecxHx
CjjpOHTeHAOB — xax AJlfl
GTK (http://gkismet.sour-
ceforge.net). Tax h nnn
Qt (http://sourceforge.net/
projects/kismet-qte) .
d ipserver : anonymous@ cvs . sourceforge .net : /evsroot/ndiswrapper
co ndiswrapper
Tenepb nonpodyifre CKOMnHjiHpOBaTb ero:
# cd ndiswrapper- 1.5
# make distclean
# make && make install
Ecjih komhhjhhj;h5i He y^acTcn h bhckohht KaKan-midyab
onmdKa, npOBepbTe, BKjnoneHa jih b impe ncwjepJKKa PCI, USB h
PCMCIA. Ecjih HeT, BaM npH^eTcn nepecodnpaTb n^po.
YcTaHOBKa Windows-ApaiiBepa
Bo-nepBbix, ^aBaftTe yAOCTOBepHMcn, hto CHCTeMa bhaht Bain
Wi-Fi-a^anTep. /(jih ototo HeodxoAHMO H3ynHTb bbiboa KOMaH^bi
lspci (ecjiH y Bac PCI- hjih PCMCIA-a^anTep) hjih lsusb (npH
HajiHHHH USB-xapTbi):
# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX —
82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX -
82443BX/ZX/DX AGP bridge (rev 03)
00:04.0 CardBus bridge: Texas Instruments PCI1450 (rev 03)
00:04.1 CardBus bridge: Texas Instruments PCI1450 (rev 03)
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA
(rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB
PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB
PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4
ACPI (rev 03)
00:08.0 Multimedia audio controller: ESS Technology ES1978
Maestro 2E (rev 10)
00:09.0 Ethernet controller: Intel Corporation 82557/8/9
[Ethernet Pro 100] (rev 09)
00:09.1 Serial controller: Agere Systems LT WinModem
01:00.0 VGA compatible controller: ATI Technologies Inc Rage
Mobility P/M AGP 2x (rev 64)
02:00.0 Ethernet controller: Atheros Communications, Inc.:
Unknown device 001a (rev 01)
OdpaTHTe BHHMaHHe Ha nocjie£Hioio cTpoicy — Linux flora^a-
jiacb, hto 3to ceTeBan KapTa, a bot flpaftBepa k Heft no^odpaTb He
CMoma, o neM roBOpHT coodnjeHHe «Unknown device». 3anoMHH-
Te HOMep ycTpoftcTBa (02:00.0). Tenepb AaBaifre onpe^ejiMM ero
PCI-H^eHTH(J)HKaTop. Rjw 3T0T0 BbinojiHHTe KOMaH^y lspci -n:
# lspci -n
00:00.0 Class 0600: 8086:7190 (rev 03)
00:01.0 Class 0604: 8086:7191 (rev 03)
00:04.0 Class 0607: 104c:aclb (rev 03)
00:04.1 Class 0607: 104c:aclb (rev 03)
00:07.0 Class 0680: 8086:7110 (rev 02)
00:07.1 Class 0101: 8086:7111 (rev 01)
00:07.2 Class 0c03: 8086:7112 (rev 01)
00:07.3 Class 0680: 8086:7113 (rev 03)
00:08.0 Class 0401: 125d:1978 (rev 10)
00:09.0 Class 0200: 8086:1229 (rev 09)
4/2005 LINUX CHIP
86
hardware
c m c t e m a
00:09.1 Class 0700: llcl:0445
01:00.0 Class 0300: 1002:4c4d (rev 64)
02:00.0 Class 0200: 168c:001a (rev 01)
H^eHTHcjDHKaTop HaxoflHTCii b TpeTbeb KOJiOHKe, a jih Hanieb Kap-
tbi ( 02 : 00 . 0 ) 3 to 168 c: 001 a. 3 aneM oto Hyaoro? KaKH yx;e roBOpKJi,
oneHb nacTO no# oahhm h TeM xe HMeneM np o h 3 Boa htcji b BbinycKa-
eT coBepmeHHO pa 3 HBie aaanrepbi Ha pa 3 HBix nnnax (h, kohchho xe,
ohm pa 6 oTaiOT c pa 3 JiHHHbiMH ApaHBepaMH). Be 3 oniH 6 oHHO onpeae-
JIHTB MOaeJIB MOXCHO TOJIBKO C nOMOLUbK) PCI-HaeHTH(J)HKaTOpa.
Tenepb nonpodybTe noncKaTb naeHTH(J)HKaTOp Baniero
ycTpoHCTBa b cnncKe noaaepxcnBaeMbix aaanTepOB Ha cabTe
http://ndiswrapper.sourceforge.net/mediawiki/index.php/List.
B HameM cjiynae moxho yTBepxaaTb, hto 168 c: 001 a — 3 to
D-L ink DWL-G 630 rev. C Ha nnne Atheros. TaM xe moxho nojiy-
hhtb ccbuiKy Ha padonnb Windows-apabBep, KOTOpbib 6 biji npo-
TecTHpoBaH b CBB 3 Ke c ndiswrapper.
IlepenHniHTe Bee <J>abjibi Windows -apauBepa (inf, sys, cat h dll) Ha
acecTKHH ancK b OTaejibHyio a up e KTop w io . M nonpodybre ycTaHOBHTb:
# cd win2kxp-driver
# ndiswrapper -i driver.inf
Ilocjie 3 Toro ndiswrapper co 3 aacT KOHcjmrypaitHOHHbie c[)abjibi
aJin Barneb xapTbi b KaTajiore /etc/ndiswrapper. YdeaHMCH, hto
apahBep ycTaHOBjieH ycnemHo:
# ndiswrapper -1
Installed ndis drivers:
neta3ab driver present, hardware present
Kax BHaHTe, Bee b nopaaKe. CTpoxa «neta3ab driver present» tobo-
pHT o tom, hto apabBep net3ab ycTaHOBjieH, a «hardware present» —
hto cooTBeTCTByiontee ycTpobcTBO Habaeno. Ecjih BMecTO 3Toro bbi
yBHanTe coodmeHHe Bpoae «Cannot locate lspci. Unable to see if
hardware is present» — 3HauHT y Bac He ycTaHOBjieH naxeT pciutils.
McnbuaHiie
Hy hto ac, Tenepb moxho npOBepHTb padoTy apabBepa, ho nepea
3thm odHOBHTe KOHcjmrypaitHio MoayJieb napa:
# depmod -a
# modprobe ndiswrapper
Ha bchkhh cjiynab npOBepbTe coodmeHHH napa:
# dmesg
wlanO: ndiswrapper ethernet device 00:ll:95:bf:21:cb using driver
neta3ab, 168C:001A.5.conf
wlanO: encryption modes supported: WEP; TRIP with WPA,
WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
Bee b nopnaxe, noHBHjicn hobbih ceTeBob HHTepct)ebc (b 3to
B peMH Ha caMob KapTe aojixeH 3aMHraTb HHaHKaTop «Link»).
/(jin padoTbi c Wi-Fi-aaanTepaMH HanncaH naxeT wireless-tools,
KOTopbib Ha aaHHbib momcht ecTb b KaxaoM ancTpHdyTHBe.
B Hero BxoaaT yrajiHTbi iwconfig, iwlist, iwconfig, iwspy. fljw
npocMOTpa noapodHob HHC^opMaitHH o ceTeBOM HHTepcjDebce
BbinojiHHTe cjieayiomyio KOMaHay:
# iwconfig wlanO
wlanO IEEE 802.11b ESSID:"" Niclmame: "random"
Mode:Managed Frequency:2.412 GHz Access Point:
00 : 00 : 00 : 00 : 00:00
Bit Rate=54 Mb/s
Encryption key: off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt :0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
jih noncKa Toueic aocTyna BOcnojib3ybTecb yTHjiHTob iwlist:
# iwlist wlanO scan
wlanO Scan Completed:
Cell 01 -Address: 00:02:71:50:EF:DD
ESSID: «Yandex.wifi»
Mode: Master
Encryption key: Off
Channel: 1
Quality: 81/92 Signal Level:
150/154
BnaHO, hto iwlist Hanuia oaHy ceTb co CBodoaHbiM aocTynoM
(Encryption key: Off). /JaBabre nonpodyeM noaKJHOHHTbCH k Heb:
# iwconfig wlanO essid 'Yandex.wifi'
# dhclient wlanO
Bee, Tenepb moxho cnoKobHO cnaeTb b Ka$e h He enema, nora-
THBan KO(J)e, 3anycKaTb jnodHMbib Firefox (a 3aoaHO h Wget). |
flono/iHMTe/ibHaa MHcJjopMaiJiMfl
llone3Hbie ccbMKM
► www.linux-wlan.com —
OTxpbiTbie ApawBepbi Ann
xapT Ha mine Prism/2.
► http://sourceforge.net
projects/madwifi — OTKpbi-
Tbie ApaftBepbi f\nn xapi Ha
HMne Ateros.
► http://prism54.org — ot-
xpbiTbie Apa^Bepbi xapr
Ha mine Prism54.
► http://acxlOO.sourcefor-
ge.net — OTKpbiTbie ApatiBe-
pbl RJ\H KapT Ha OCHOBe mm-
noB acxlOO.
► http://ipw2 100. source-
forge. net — OTKpbiTbie
ApaMBepbi f\nn xapT, eerpo-
eHHbix b HoyTdyKM Ha nnaT-
c|DopMe Intel Centrino.
► www.linux-wlan.org/docs/
wlan_adapters.html.gz —
nocTonHHO odHOBnne-
MbiM cnwcoK MOAeneii
Wi-Fi-aAamepoB m minoB.
CHIP LINUX 4/2005
M bl C J1 M
87
B/iaAMMup UapbKOB
Free Software h Open Source:
pa3Hbie cnoBa - pa3Hbie HAen
CBo6oflHoe nporpaMMHoe o6ecneHeHne, KaK ero hm pa3Hbie nflew [1]. 3aAaneM a3hhom craTbM flB/ifleTCfl
H330BM, flaeT HaM oflUHaKOByio CBo6ofly. Ho He/ib3fl aHa/iM3 pa3/iMHMM Mewfly ABM>KeHMflMM Free Software
3a6biBaTb o tom, hto pa3Hbie c/iOBa BbipawaiOT m Open Source.
0(j}Hu;HajiLHbie onpeaejieHHH tcpmhhob Free Software h Open
Source aocTaTOHHO cxoxch. R noauepKHBaio cjiobo «o<J)hiih-
ajiBHBie», nocKOJiBKy jnoan uacTO ckjiohhbi bbiboahtb cboh cod-
CTBeHHBie onpeaejieHHH sthx noHUTHH, H3-3a nero B03HHKaeT
nyraHHifa. PeKOMeHayio uHTaTejiHM 03HaK0MHTbCH c 0(J)Hii;HajiB-
hlimh onpeflejieHHHMH [2] [3] [4] .
TepMHH Free Software MoaceT 6 bitb BoenpHHHT aBOinco: KaK
«nporpaMMHoe odecneuemie, KOTOpoe pacnpocTpamieTCii dec-
njiaTHO» hjih «KOTOpoe aaeT nojib30BaTejno onpeaejieHHbie cbo-
6oabi». Hmchho TaKne 3HaneHHn BKjiaabiBaeT b otot TepMHH
Pnuapa Ctojijimch [5], HanHHaTejib Free Software movement,
ABHxemra 3a CBodoay nporpaMMHoro odecneueHHH. HecMOTpn
Ha to hto onpeaejieHHe TepMHHa Open Source, onydjiHKOBaH-
Hoe Open Source Initiative (OSI) [6], cxoace c onpeaejieHneM
Free Software ot Free Software Foundation [7], ohh HecyT b ce-
de pa3Hbie Haem Open Source — oto MeToaojiornn pa3pa6oTKH,
Free Software — odmecTBemioe aBmaceffiie. Open Source
movement nponpHeTapHbie nporpaMMbi — HeyaauHoe TexHHue-
CKoe pemeHHe, aJin Free Software movement — coaHajibHan
npodjieMa, pemeHHeM kotopoh HBjraeTCH Hcnojib30BaHHe cbo-
doaHoro nporpaMMHoro odecneneHnn.
Pa3TOBOpbI O CBOdO^e, STHUeCKHX npHHLfHnaX, OTBeTCTBeHHOC -
th Hapnay c yaodcTBOM Hcnojib30BaHHH 3acTaBjuHOT jnoaeii 3aay-
MbiBaTbcn o Tex Beiaax, KOTOpbie hm npoiae nmopHpOBaTb. TepMHH
Open Source (b HeM HeT hh cjiOBa o CBodoae h othkc) ropa3ao
dojibme HpaBHTcn dn3HecMeHaM. Ho oto He 3HanHT, hto ot ototo
«MOJinaHHH» BbiHrpbiBaeT odmecTBO. MHorae Jiioan ceroami nepe-
xoanT Ha Hcnojib30BaHne CBodo^Horo nporpaMMHoro odecneue-
HHn H3 hhcto npamaTHuecKHx coodpaxeHHii. Ho npHBjieueHHe
nojib30BaTejieH — oto jihuib uacTb 3aaauH, KOTOpan aoji>KHa CTOHTb
nepea pa3p adorn n KaM w CBodoaHbix nporpaMM. PaHO hjih no3aHO
nejiOBeKy npeaJioacaT CHOBa HanaTb Hcnojib30BaTb nponpneTapHbie
nporpaMMbi, KOTOpbie dyayr dojiee coBepmeHHbiMH c TexHHnecKOH
toukh 3peHHH. H noueMy oh aojraceH OTBepraTb oto npeaJioxeHne?
Tojibko b tom cjiyuae, ecjin nejioBeK aeHHT cBodoay, KOTopyio aaeT
eMy CBodoaHoe nporpaMMHoe odecneuemie, oh CMoaceT CKa3aTb:
«R OTKa3biBaiocb Hcnojib30BaTb nponpneTapHbie nporpaMMbi!»
Mmchho no otoh npnnnHe Mbi aojHKHbi roBOpHTb od OTHnecKHx ac-
neKTax Hcnojib30BaHnn Free Software.
TepMHH Open Source He tojibko He MOxceT dbiTb nojiHoaeHHoii
3aMeHOH TepMHHa Free Software [8], oh enje n co3aaeT aonojiHH-
TejibHyio nyraHHuy BOKpyr CBoero Hcnojib30BaHHH (ero ropa3ao
cjioxHee odbncHHTb): npHMep npo pa3HHu;y Me>i<ay CBodoaon cjiOBa
h decruiaTHbiM nHBOM yace He noaxoanr B CTaTbe «Moaa Ha Open
Source» [9] lOpnii JlyniHH yTBepxaaeT, hto Pnnapa Ctojuimch hb-
jmeTCii «nnoHepOM asicKeHHH Open Source», a Taioxe npnnncbiBa-
eT xaKepaM H3 MIT aBTopcTBO naen Open Source. Oda oth yTBepx-
aeHHn omHdouHbi. Pnnapa Ctojuimch He pa3 BbiCKa3biBajiC5i o tom,
HTO HMeHHO OTHUeCKHH aCneKT aOJDKCH dbiTb pemaiOiaHMH npH Bbl-
dope TOH HJIH HHOH npOTpaMMBI RJW HCn0JIB30BaHH5I [ 1 ] [2] f 1 0] f 1 1 ] ,
a CmBeH JleBH nocBUTHji nejiyfo KHHry BonpocaM xaKepCKOH othkh
[ 12]. npeacTaBHTejin Open Source Iniciative [6], b cboio ouepeab,
OTKpbITO TOBOpHT O TOM, HTO HMH aBHXeT HCKJHOUHTeJIbHO npaTMa-
th3m [13]. CjieayeT otmcthtb h tot (JiaKT, hto TepMHH Open Source
nonBHjicn 3 4)eBpajm 1998 roaa [13], h no otoh npHHHHe ero Heao-
nycmMO Hcnojib30BaTb npn onncaHnn codbiTHH, npeamecTByio-
iunx yKa3aHHoii aaTe.
^BiDKeHHii Free Software h Open Source He hbjihiotch BparaMH
apyrapyra, OHH BnojiHe Moryr coTpyaHHnaTb. Bjiaroaapn aencTBHHM
Open Source Iniciative KOJiHnecTBO Jiioaen, Hcnojib3yioiaHx CBodoa-
Hoe nporpaMMHoe odecneneHHe, CTpeMHTejibHO pacTer TaKne Jifoan
nojiyuaiOT CBodoay, KOTopyio ohh aonxcHbi neHHTb, HTodbi He noTe-
pnTb. Hmchho nooTOMy Hyamo dojibme h rpOMue tobophtb od oth-
necKHx acneKTax Hcnojib30BaHH5i CBodoaHbix nporpaMM [ 1 ] [ 1 0] [ 1 1 ] .
[1] www.gnu.org/philosophy/free-software-for-freedom.html
[2] www.gnu.org/philosophy/free-sw.html
[ 3 ] www. opensource . org/docs/osd .pdf
[ 4 ] www. opensource . org/docs/def_print . php
[5] www.stallman.org
[6] www.opensource.org
[7] www.fsf.org
[ 8 ] www. gnu . org/philosophy/words - to - avoid . html
[ 9 ] www.linuxrsp . ru /artic /opensource . html
[10] www.audio-video.gnu.org/audio/rms-speech-curitiba.ogg
[11] www.gnu.org/philosophy/pragmatic.html
[12] Steven Levy, Hackers: Heroes of the Computer Revolution,
Doubleday: New York, 1984
[13] www.opensource.org/docs/history.php
4/2005 LINUX CHIP
88
practice
npaxTMHecKMe c o b e t bi
fleHMC Ko/lMCHMMeHKO
CeKpeTbl CMCT6MM
OnepeAHa^i Aecjmra coBeTOB ot flem-ica Ko/iMCHMHeHKO oxBaibiBaei
LUHpOKMM AHana30H TeM — OT HaCTpOMKM o6opyAOBaHMyi (03Y M MOAeMOB)
AO TOHKOCTeM TfOHMHra CMCTeMbl.
fop^HMe KJiaBHLUH
«SysRq», mjim Hto fle/iaTb
bo BpeMB aBapwn?
Linux canraeTca oahoh h 3 caMbix HaaeacHbix
onepau;HOHHbix chctcm, ho HHor^a h OHa
aaeT c6oh. Bee Mbi 3HaeM o asyx BOJime6Hbix
KOM6HHaunax KJiaBHin — «Ctrl+Alt+Del» h
«Ctrl+Alt+Backspace». Hep Baa Hcnoab3yeT-
ca jsjm nepe3arpy3KH CHCTeMbi, a BTOpaa —
AJia nepe3anycKa X Window.
Hto ace tteaaTb, ecjin CHCTeMa Bce-TaKH
3aBHcaa? Cpa3y HyacHO oroBOpHTbca, hto
T yT Bee 3aBHCHT ot «CTeneHH 3aBHcaHH a»:
MoaceT cayaHTbca Tax, hto OHa He 6y#eT
pearnpOBaTb Ha BHeniHHe cnmajibi (b tom
ancae h HaacaTHa KjiaBHm) — b 3tom cay-
aae yace HnaeM KpOMe «Reset» He noMO-
acenib. Ho maHC coxpaHHTb ^aHHbie b cay-
aae c6oa Bee ace cymecTByeT. 06 3 tom cen-
aac mbi h noroBopHM.
06paTHTe BHHMaHHe Ha KjiaBHiny «Print-
Screen». CBepxy HanncaHO «PrtScr», a bhh-
3y — «SysRq». HaacaB «Alt+PrtScr» h oaHy
H3 GyKBeHHbix KjiaBHm, bbi npOH3BeaeTe
HeKOTOpbie aeiiCTBHa, KOTOpbie Moryr oxa-
3aTbca cnacHTeabHbiMH b cayaae aBapHH-
hbix CHTyaijHH. Bo3MoacHbie K0M6nHauHH c
KJiaBHinen «SysRq» bbi HaiiaeTe b TexcTO-
bom c^ariae sysrq.txt (o6bihho oh HaxoanTca
b KaTaaore /usr/src/linux/Documentation/
systq.txt). Mbi paccMOTpHM annib caMbie
nojie3Hbie H3 hhx.
Alt+SysRq+K
HaacaB 3Ty KOMdHHaitHio KJiaBHin, bbi
CM oaceTe «y6HTb» Bee 3aBHcniHe npoijeccbi
(ToaHee, npoiteccbi, 3anymeHHbie b Teicy-
men BHpTyajibHoii kohcohh), KOTOpbie He
OTBeaaiOT Ha «Ctrl+C», h hx Heab3a 3aBep-
niHTb o6biaHbiM o6pa30M. Ta ace KjiaBHaTyp-
Haa K0M6HHauna noMoraeT h b Tex cayaaax,
Koraa CHCTeMa X Window 3aBHcaa h He peara-
pyeT^aace Ha Haacame «Ctrl+Alt+Backspace».
Kohcmho, MoacHO BOcnojib30BaTbca coaeTa-
HneM «Ctrl+Alt+Del», ho Haaexo He Bceraa
xoaeTca nojiHOCTbio nepe3arpyacaTb CHCTeMy.
aHHaa K0M6HHaitna KJiaBHin noae3Ha He
tojibko aaa CHaTHa 3aBHcniHx npoijeccoB.
Ee MoacHO Hcnoab30BaTb, ecan xaxoH-TO
3aoyMbiinaeHHHK ycTaHOBHa b Bainen ch-
CTeMe nporpaMMy, SMyanpyiomyio pa6oTy
npoitecca login. OHa BbiBoaHT o6biaHoe
npHrjiameHHe (bbi ero He OTanaHTe
ot npHraameHHn CTaHaapTHoro login),
noayaaeT ot Bac napoab, 3anHCbiBaeT ero
b cneiiHaabHbiH (j)aHa, a noTOM BbiaaeT
coodmeHHa o tom, aTO bbi BBean HeBep-
hbih napoab, h nepeaaeT ynpaBaeHHe
opHTHHaabHoii nporpaMMe login. Bbi aaace
HHaero MoaceTe h He 3anoao3pHTb — no-
AyMaenib, HaBepHoe, Ha caMOM aeae He-
npaBHabHbiH napoab. nocae HaacaTHa
3T0H K0M6HHau;HH KaaBHIH npOHCXOAHT
3aBepmeHHe Bcex npoiteccoB, KpOMe opH-
THHaabHoro login. Bee nporpaMMbi, koto-
pbie MacKHpyiOTca no a login, 6yayr Taxace
3aBepmeHbi. flaHHyio KOM6HHaitHio xaa-
BHin eme Ha3biBaiOT SAK (Secure Access
Key). no#po6Hee o Heii bbi CMoaceTe npo-
aHTaTb b (jDaiiae /usr/src/linux/documen-
tation/SAK.txt
Alt+SysRq+E (tErm)
flaHHaa K0M6HHan;Ha nocbiaaeT BceM npo-
iteccaM (KpOMe Init) enraaa SIGTERM.
nocae 3 toto b CHCTeMe ocTaiOTca ToabKO
aapo, Init h Teicymaa KOHeoab. nocae 3 to-
ro MoacHO 3anycTHTb 3aH0B0 Bee cepBHCbi
(Init 3 nan Init 5).
Alt+SysRq+I (kill)
3Ta K 0 M 6 HHaitna aHaaomaHa «Alt+Sys-
Rq+E», ho nocbiaaeT BceM npoiteccaMH
(KpOMe Init) CHraaa SIGKILL. Cnmaabi
SIGTERM h SIGKILL pa 3 aHaaiOTca cae-
ttyiontHM o6pa30M: noayaHB SIGTERM,
nporpaMMa aoaacHa coxpaHHTb aaHHbie
(ecan, KOHeaHO, nporpaMMHCT npeaycMOT-
pea peaKijHK) Ha 3 tot enraan) h 3aBepniHTb
pa 6 oTy; CHraaa SIGKILL MOMeHTaabHO
«y 6 nBaeT» nporpaMMy — coxpaHHTb aaH-
Hbie OHa yace He CMoaceT.
Alt+SysRq+S (Sync)
3to coaeTaHHe KaaBHin 3acTaBaaeT aa-
po BbinOHHHTb CHHXpOHH3aitHK) 6y(})epOB
BBOtta/BbiBotta, to ecTb c6pocHTB coaep-
acHMoe ahckobbix 6y4>epOB Ha ahck.
OaeHb noae3Haa K0M6HHaitna KaaBHin,
noMoraiomaa coxpaHHTb Banin aaHHbie.
Beam ecan bbi coxpaHHan aaHHbie b CBoeii
nporpaMMe, 3to eme He 03HaaaeT, hto ohh
6bihh (J)H3HaecKH 3anHcaHbi Ha ahck.
CHHXpOHH3aitHH 6y(j)epOB — 3T0 He MTHO-
BeHHaa npoiteaypa. nocae Haacama 3thx
KaaBHin BaM HyacHO HeMHoro noaoacaaTb,
noxa Ha KOHCoan He noaBHTca coo6me-
HHe « Emergency Sync.... 0K».
Ecan ace BbiBoa Ha KOHeoab HeB 03 MoaceH ,
npocTO noaoacaHTe okoho naTH ceicyna. By-
aeM HaaeaTbca, hto CHCTeMa BbinoaHHaa
CHHXpOHH 3 aitHIO 6 y(J)epOB (X 0 Ta, nOBTO-
piocb, Bee 3 aBHCHT ot «CTeneHH 3 aBHcaHH a»).
CHIP LINUX 4/2005
npaxTMHecKMe c o b e t bi
89
Alt+SysRq+U (Umount)
aHHaH KOM6HHau;HH HcnojiB3yeTC5i rjw
pa3MOHTHpOBaHHH BCeX CMOHTHpOBaHHBIX
(J)aHJiOBBix cncTeM, a 3 to 3aHHMaeT 6ojiBine
BpeMeHH, HeM CHHXpOHH3aii;H5I, nOSTOMy
x^aTL HyxcHO MHHHMyM iihtb ceicyHa (a TO
h 6ojiBine) — a o noHBjieHHH coodiaeHHH
«Emergency Umounting... OK».
HO eCJIH OHO TaK H He nOHBHJIOCB, B03M02C-
hbi asa BapnaHTa:
► (j}aHJIOBBie CHCTeMBI BCe-TaKH pa3MOHTH-
pOBaHBI, BBIBOa Ha KOHCOJIB HeB03M0vKCH ;
► (})aHJIOBBie CHCTeMBI He pa3MOHTHpOBa-
hbi, nocKOJiBKy CHCTeMa BOo6me hh Ha
hto He pearnpyeT.
Elepea TeM KaK BOcnojib30BaTbC5i 3toh kom-
6HHau;HeH, Hyxno HaxaTB npeaBiaymyio
(«Alt+SysRq+S») c uejibK) CHHxpoHH3auHH
6y(J>epOB BBoaa/BBiBoaa h tojibko nocjie 3to-
TO pa3MOHTHpOBaTB 4>aHJIOBBie CHCTeMBI.
B o6iaeM, npH 3aBHcaHHH chctcmbi Han-
6ojiee BepHOH 6yaeT cjieayioiaaii nocjieao-
BaTeJIBHOCTB aeHCTBHH.
► HaacaTB «Alt+SysRq+E (hjih K)». Ec-
jih HHnero He noMorjio h CHCTeMa no-
npexHeMy bhcht, Toraa nepexoaHM k
cjieayiomeMy nyHKTy.
► Ha>xaTB «Alt+SysRq+S» h noaoxaaTB
miTB cexyHa.
► HaxaTB «Alt+SysRq+U». IIoaoxaaTb
5—10 eexyHa (b 3aBHCHMOCTH OT KOJIHHeCT-
Ba CMOHTHpOBaHHBIX (jiaHJIOBBIX CHCTeM).
► HaxcaTB «Reset».
Alt+SysRq+B (reBoot)
HcnojiB3yeTC5i jinn MraoBeHHOH nepe3a-
Tpy3KH. O npHMeHeHHH 3TOH KOMGHHa-
u;hh acejiaTejiBHO HaxcaTB «Alt+SysRq+S» h
«Alt+SysRq+U» (cooTBeTCTBeHHO, noao-
xaaTB 2-5h5-10 cexyiia). Ctoht otmcthtb,
hto 3(jKj)eKT ot KOM6HHau;HH «Alt+SysRq+B»
npaKTHnecKH 3KBHBajieHTeH «Reset».
Alt+SysRq+O (pOwer off)
MmoBeHHO BbiKjnouaeT mrraHHe, He pa3-
MOHTHpyH (jiaHJIOBBie CHCTeMBI. Bcho, HTO ao
3T0T0 HyaCHO B0Cn0JIB30BaTBCH KOM6HHau;H-
hmh «Alt+SysRq+S» h «Alt+SysRq+U». |
KOflMpOBKM
Win-1251 n K0I8-R
Cxopee Bcero, Linux Ha Barneii aoManiHeii
ManiHHe — He eaHHCTBeHHan onepaiiHOH-
Ha n CHCTeMa. Kaic MHHHMyM y Bac ycTaHOB-
jieHa eiae h Windows. Kaxan HMemio — He
BaXCHO. BeaB BCe BepCHH 3TOH CHCTeMBI hc-
nojiB3yiOT KoanpoBKy Win- 1251.
A hto aeJiaTB, ecjra HyacHO OTpeaaKTHpo-
BaTB TeKCTOBBIH (J)aHJI, C03aaHHBIH B
Windows? C aoxyMeHTaMH MS Office Bee
HCHO: HX nOJIHOCTBIO (Hy HJIH nOHTH noji-
hoctbio) noaaepxHBaeT naiceT OpenOffice.
Ceitnac mbi noroBOpHM o npocMOTpe h pe-
aaKTHpOBaHHH «HHOnjiaHeTHBIX» (jiaHJIOB.
HanHeM c npocMOTpa. npeanojioacHM, hto
y Hac ecTB cjiaHJi b xoanpOBKe Win- 1251.
Xoth He Tax yac h BaacHO, cpl251 3 to hjih
cp866. TjiaBHoe, uto mbi He MoxeM npo-
CMOTpeTB ero o6bihhbim cnoco6oM, Tpe6y-
eTcn nepexoanpOBKa. Jinn 3toto HcnojiB3y-
eTCH KOManaa iconv:
iconv -f <HcxoaHa5i KoaHpoBKa> -t <pe-
3yjIbTHpyiOIUa5I KOaHpOBKa> <HCXOaHbIH
(J)aHJi>
BOT npHMepBI HCn0JIB30BaHHH 3TOH KO-
MaHaBi (Ham cjiaHJi Ha3BiBaeTcn report.txt):
iconv -f cpl251 -t koi8-r report.txt | less
iconv -f cpl251 -t koi8-r report.txt >
report-koi8.txt
B nepBOM cjiynae mbi nepexoanpyeM (jianji
h nepeaaeM nporpaMMe less, KOTOpan bbi-
BoaHT ero Ha kohcojib. Moxho o6ohthcb h
6e3 Hee, ho ecjin cjiaHJi Gojibhioh, to Bpna
jih mbi ycneeM ero npounraTB.
Bo btopom cjiynae mbi nepexoanpyeM (jianji
h pe3yjiBTaT nepeKoanpOBaHnn 3anncBiBa-
eM b report-koi8.txt, kotopbih moxho 6yaeT
HcnojiB30BaTB o6bihhbim o6pa30M.
KpoMe KoanpoBKH cpl251 bbi Taioxe MOXe-
Te HcnojiB30BaTB KOI8-R, cp866 h UTF-8.
TenepB noroBOpHM o peaaKTHpOBaHHH.
Boo6iae-TO, jiynme Bcero nepexoanpOBaTB
(JiaHJi b KOI8-R h peaaKTHpoBaTB ero xax
odbiHHO, ho mo>kho cpa3y aeJiaTb oto c no-
MouibK) peaaicropOB, n oaae p>i < h bb io lli h x h e-
CKOJibKO KoaHpOBOK, HanpHMep kwrite, kate,
me h vim. C nepBBiMH aeyMH Bee onenb npo-
cto — H3 MeHio BbidnpaeM Hyamyio Koan-
poBKy, h Bee. B me Hyamo 3aiiTH b MeHio
«HaCTpOHKH -> Bhtbi chmbojiob» h b no-
HBHBmeMCH OKHe BbldpaTB CHCTeMHyiO KO-
anpOBKy. B pexHMe npocMOTpa/peaaKTH-
pOBaHHH (jiaiuia jinn Bbidopa KoanpoBKH
HaxcMHTe «Ctrl+T». 3aaaHHaa KoanpoBKa
COXpaHHTCH H 6yaeT HCn0JIB30BaTBC5I npH
nocjieayioiaeM peaaKTHpOBaHHH — ao Tex
nop, noxa bbi He Bbi6epeTe apyryio.
B vim aJin nepeKoanpOBaHHn (Jianjia BBe-
aHTe KOMaHay:
:e ++enc=cpl251
BMecTO cpl251 moxho yxa3aTB apyryio
KoaHpOBKy, HanpHMep cp866 hjih UTF-8.
Jinn coxpaHeHHH (jiaiijia b HyacHOH Koan-
poBKe BBeaHTe KOMaHay:
: w + + enc = < KoanpoBKa>
TfOHHHf CHCTfiMbl
MoHmopnHr
B cocTaBe KDE ecTB cboh codcTBeHHBiH
CHCTeMHblH MOHHTOp, HO HCn0JIb30BaTB
ero He xoueTCH no aeyM npHHHHaM:
► OH aOBOJIBHO rp0M03aKHH H 3aHHMaeT
MHoro MecTa Ha 3KpaHe;
► He xoueTcn, hto6bi 6bijio «Kax y Bcex».
ECJIH BaM BaXHO, HT 06 bI CHCTeMHblH MO-
HHTOp 6 bIJI KOMnaKTHbIM H ™6kHM B HaCT-
poiiKe h k TOMy xe He noxoxHM Ha tot, hto
ecTB y coceaa, ycTaHOBHTe naKer gkrellm.
Oh OTBenaeT BceM BbimenepenHCJieHHBiM
TpedoBaHHHM, k TOMy >xe noaaep>KHBaeT
pa 3 JiHUHbie rpa(J)HHecKHe cxeMBi, hto He-
MajiOBaxHO jinn aoMamHero nojiB 30 BaTejin.
B CTaHaapTHon peaaKiiHH Gkrellm yMeeT
noKa 3 biBaTB uacBi, 3 arpy 3 Ky npoaeccopa,
ceTH, odpaiaeHHH k ancxy, ceHCOpBi
(lm_sensors) h MHoroe apyroe. KpoMe to-
ro, b MHTepHeTe moxho HaiiTH orpOMHoe
KOJinuecTBO njiarHHOB, HanpHMep aHajio-
roBbie uaebi, HHaHKaTop noroabi h t. a.
CorjiacHTecB, HHTepecHO H 3 Bcero 3 Toro
MHOXeCTBa COdpaTB CBOH COdCTBeHHblH
CiaHAapTHbiM bha nporpaMMbi
Gkrellm
t n
1 tutlB 1 . nm Inn
r
IViprm Liw^n UnpiRB
JlU Ol HI Jill »<■
llapaMeipbi
rpatpMKOB
Gkrellm
jn * tmilg H ftira.—
[
4/2005 LINUX CHIP
90
practice
npaxTMHecKMe c o b e t bi
q^hn. y
Ann Kaxoro ceieBoro MHiepcpeMca
nodpoMTb rpacpMK sarpy 3 KM?
Obfi
LjJiY
ItVPM>
jo..
JDCI
rWHMk
IK ft c-am 1
hN ■pjimoai'. |mTTa I Sf ea|W |. in
flOMt*
UftFH
C ITT-H w
CocTOdHHe 03Y m cjiaHJia noAKaHKH
Bill IlMlIn
1« *
Itatt
SIpiM
rn
,
-■I"—
BHeuiHHH bha Gkrellm momho HacTponTb
CHCTeMHBIH MOHHTOp, nOaodHOTO KOTO-
pOMy He dyaeT hh y Koro.
Cxopee Bcero, naxeT gkrellm dyaeT npHcyr-
CTBOBaTL B BaiHCM aHCTpHdyTHBe. 06bIHHO
3TOT CHCTeMHBIH MOHHTOp He 3HaUHTCH no
yMOJinaHHK) , nosTOMy ero Hy*HO ycTaHO-
bhtb caMOCTOHTejiBHO. PeKOMeHayio TaKace
naKeT gkrellm- devel — oh noHaaodHTCH npH
cdopKe AonojiHHTejiBHBix rniaraHOB.
Bbi eiae He ycTaHOBHjin Gkrellm? 3HauHT,
ceimac caMoe BpeMH 3 to caejiaTB.
B aaHHOM BapHanre nporpaMMa HHcjxipMH-
pyeT o caeayiomHx napaMeTpax CHCTeMBi:
► 3arpy3Ka npoaeccopa (U,ny);
► KOJiHnecTBO 3anymeHHLix npoaeccoB h
3apemcTpHp0BaHHBix nojn>30BaTejieH;
► Harpy 3 Ka Ha ancKOByio CHCTeMy BBoaa/
BtiBo^a;
► COCTOHHHe CeTeBBIX HHTep(j}eHCOB lo H
pppO;
► COCTOHHHe (J)H3HHeCKOH naMHTH H CBO-
nHHra;
► KOJIHUeCTBO nneeM B nOUTOBOM HHJHKe.
HaxcaB KjiaBHmy «F1», bbi CMonceTe HacT-
POhtb nporpaMMy h ee a aTUHKH Ha cboh
BK yC. YTHJIHTa HCnOJIB3yeT TeMBI HHTep-
(j)eHca, djiaroaapH kotopbim bbi MOxeTe H3-
MeHHTB ee BHemHHH BHa. Ecjih b Bameit
CHCTeMe He ycTaHOBjieHO hh o#hoh tcmbi
K poMe CTaH^apTHOH, 3arjuiHHTe Ha caiiT
www.muhri.net. 3arpy3HB TeMy, pacnaKynre
ee b KaTajior ~/.gkrellm2/themes (~ — Bam
AOMamHHH KaTajior).
Taioxe b HHTepHeTe mojkho HaHTH orpOM-
Hoe KOJiHnecTBO njiarHHOB.
► aLLtraXClock h GkrellAclock — OTodpa-
xcaiOT aHajioroBBie nacBi.
► GkrellWeather — noKa3BiBaeT noroay b
BarneM peraoHe.
► GkrellShoot — no3BOjmeT caejiaTB chh-
MOK 3KpaHa OflHHM HaHCaTHeM KHOnKH.
► GkrellMLaunch — aodaBjraeT b okho mo-
HHTOpa KHOnKH RJW BBI30Ba n0JIB30BaTeJIB-
ckhx nporpaMM.
► gkrellm xkb — OTodpancaeT pacKJiaaKy
KjiaBHaTypBi.
► GkrellMMS — njiarHH ynpaBjieHHH
njieepOM XMMS.
► Volume — peryjiHTOp rpoMKOCTH.
Ilocjie c6opKH njiarHHa noMecTHTe ero
(4>aHJi .so) b KaTajior ~/.gkrellm2/plugins, a
3aTeM b HacTpoHKax Gkrellm b pa3aejie
«BHemHHe», BKjnouHTe njiarHH. Ilocjie
3T0T0 TaM AOJIXeH nOHBHTBCH OTaeJIBHBIH
nyHKT Rim HacTpoex njiarHHa.
Ecjih Gkrellm BaM He noHpaBHjicn, mo-
xeTe HcnojiB 30 BaTB nporpaMMy KSim
(KOMaH^a h naxeT ksim), KOTOpan o6bihho
BXOAHT B COCTaB KDE. |
OdopyflQBaHHe
MofleMbi m Linux
TenepB mbi noroBOpHM o tom, KaK BBi6paTB
MoaeM jtjth cBoero KOMnBioTepa h KaK 3 acTa-
bhtb padoTaTB win-MoaeM noa Linux. Moae-
MBI 6BIBaiOT BHyTpeHHHMH H BHemHHMH.
Hew ohh oTjnmaioTCii, ayMaio, tobophtb He
Hy*mo. EojiBmHHCTBO BHyrpeHHHx ycT-
POHCTB — 3 TO TaK Ha 3 BIBaeMBie win-MOaeMBI.
fljin Tex, kto He b Kypce, OTMeuy, hto win-
MoacMBi (hx eiae Ha 3 BiBaiOT nporpaM-
MHBIMH, HJIH «CO(J)TOBBIMH»), B OTJIHUHe
annapaTHBix, He Moryr padoTaTB 6 e 3 coot-
BeTCTByioiaero nporpaMMHoro odecneue-
HHH. TaK y>K CJIOvKHJIOCB, HTO nOCTaBHTHKH
3 THX yCTpOHCTB BBIIiyCKaiOT apaHBepBI TO JIB -
ko aJifl Windows. AnnapaTHBiu MoaeM mo^kqt
padoTaTB b jiio6oh onepauHOHHOH CHCTeMe
6e3 apaiiBepa b KauecTBe AT-coBMecraMoro
ycTponcTBa (AT — 3 to rndop CTanaapTHBix
KOMaHa MoaeMa, a He KOMimioTep ot IBM).
HnKoraa He noKynanTe win-MoaeM. fla, bbi
c 3 KOHOMHTe HeMHoro aeHer, HO B HTore Ha-
MynaeTecB h Bce-TaKH npnodpeTeTe o6bih-
HBIH BHemHHH MOaeM, K TOMy HCe CTOHT OH
ceirnac coBceM Heaoporo — okojio $ 30 — 40 ,
a MeHBine ueM 3a $80 mojkho KynHTB
ZyXEL OMNI. MoaeMBi ZyXEL Heodxo-
aHMBi b tom cjiyuae, ecjiH KauecTBO Barnett
jihhhh CBH 3 H ocTaBjineT xcejiaTB jiyuniero.
Ecjih xce jihhhh dojiee hjih MeHee HOpMajiB-
Han, to h 30 -aojuiapOBBiH GVC 6yaeT pado-
TaTB OTJIHHHO. He CMeHTeCB, H HCnOJIB 3 yiO
aoMa GVC F2000 h He xcajiyiocB. npH no-
KynKe BHemHero MoaeMa CTapaiiTecB bbi6h-
paTB KjiaccHKy — o6biuhbih COM- (RS-
232C), a He USB-MoaeM. flejio b tom, hto
nepBBiH noaKJHonaeTCH k KOMnBiOTepy ne-
per nocjieaoBaTejiBHBiii nopT, a btopoh —
nepe3 mHHy USB. Ecjih bbi iuiaHHpyeTe hc-
nojiB 30 BaTB MoaeM b Linux, to nepBBiH
BapnaHT npeanonTHTejiBHee. R He tobo-
pio, hto y Linux ocoOuie npoOjieMBi c
USB-MoaeMaMH, npocTO COM-MoaeM Ha-
CTpoHTB jieme, a padoTaTB oh 6yaeT oaHHa-
KOBO B JH060M aHCTpHdyTHBe — HTO B CTa-
pOM Red Hat 5, uto b hobom Mandriva 2005.
B odiaeM, c MoaeMOM onpeaejinjiHCB. Te-
nepB noaKJiionaeM ero k KOMnBiOTepy (ecjin
CHIP LINUX 4/2005
npaxTMHecKMe c o b e t bi
91
y Bac COM-MoaeM, to CHauajia acejiaTejiB-
HO BBIKJHOHHTB KOMIIBIOTep) H BKJHOHaeM
KOMiiBiOTep . 3arpyacaeM Linux. CncTeMa
caMa onpeaejiHT ycTponcTBO, xot h arm Hac
3TO He ctojib BaacHO, ecjiH mbi HcnojiB3yeM
annapaTHBift BHeniHHH mo^cm. fljin ero
HOpMaJIBHOH pa60TBI HaM Hy3CH0 tojib-
KO 3HaTB, K KaKOMy nOpTy OH nOAKJHO-
neH — COM1 (/dev/ttySO) hjih COM2
(/dev/ttySl). Ecjih y Bac tojibko oahh
nocjieAOBaTejiBHBiii nopT, to 3 to dyaeT
COM1 (/dev/ttySO), apyroro He aaHO.
Cxopee Bcero, b BarneM aHCTp h dyra Be ecTB
Kaxan-Jindo nporpaMMa — KOH^nrypaTOp
MoneMa. Ecjih bbi odjiaaarejiB annapaTHoro
COM-MoaeMa, MoaceTe ee He HcnojiB30BaTB:
Bee, hto OHa caertaeT, 3 to co3aacT ccbiji-
Ky /dev/modem Ha oahh h 3 cjiaHjiOB ycT-
POhctb — /dev/ttySO hjih /dev/ttySl.
fljIH HaCTpOHKH COeaHHeHHH C MHTepHe-
tom nponte Bcero cpa3y HcnojiB30BaTB npo-
rpaMMy kppp. OraiCBiBaTB ee nojiHOCTBio n
He CTaHy — padoTaTB c Hen He cjioaoiee,
neM CO CTaHaapTHBIM a03BOHIUHKOM
Windows. OcTaHOBHMcn tojibko Ha Hexo-
topbix HHTepecHBix MOMeHTax. 3anycTHTe
kppp h HaxMHTe KHonKy «HacTpOHTB».
Ha 3aioiaaKe «Yctpohctbo» HeodxoaHMO
BBecTH HM5i yerpOHCTBa /dev/ttySO (hjih
/ dev/ttyS 1) h ero ckopoctb. noMHHTe, ecjin
bbi ycTaHOBHTe 3HaneHHe, npeBBimaiomee
MaKCHMajiBHyio ckopoctb Barnero MoaeMa,
to dBicTpee padoTaTB ot 3toto oh He dyaeT!
TenepB nepenaHTe Ha CTpaHHuxy «Mo-
aeM» b OKHe «napaMeTpBi KPPP» h ycra-
HOBHTe cjieayioiaee:
► «flo3cnaaTBC5i cnmajia b jihhhh nepea
HadopOM HOMepa» — odBiuHO aaHHBin na-
paMeTp BKjnoneH no yMOjmaHHio, ho ecjin
y Bac CTapeHBKan ATC h cnraaji oueHB
cjiad, MoaeM aaace He dyaeT nBiTaTBca Ha-
dnpaTB HOMep. no3TOMy b cjiyuae cjiadoro
cnmajia Moaoio otkjhohhtb 3tot napa-
Merp — MoaeM HadepeT xoth dBi HOMep.
► « OvKHaaHHe npn 3armTOH jihhhh» — 0 ce-
KyHa, HeT cMBicjia acaaTB.
► «rpoMKOCTB aHHaMHKa» — 3 to, xax yace
TOBOpHJIOCB, Ha JHOdHTeJIH.
TenepB HaacHMaeM KHomcy «KoMaHaBi mo-
aeMa» h b noHBHBnieMca OKHe HiiteM nyHKT
«CTpoxa Hadopa HOMepa». Ero HyacHO H3-
MeHHTB cjieayioiaHM odpa30M:
► ATDP — ecjin y Bac HMnyjiBCHan ATC;
► ATDT — ecjin y Bac TOHOBan ATC.
Bee ocTajiBHBie napaMeTpBi moxho ocTa-
bhtb de3 H3MeHeHHH (bo bchkom cjiyuae
noxa). TenepB caMoe BpeMH co3aaTB co-
eaHHeHne h onpodoBaTB hobbih MoaeM.
OdopyflQBaHMe
Win-MOfleMbi
Ecjih bbi Bce-TaKH He bhhjih npeaBiaymeMy
coBeTy h npnodpejiH win- MoaeM (hjih oh
yjxe aaBHO dBui ycTaHOBjieH b BarneM kom-
nBiOTepe), ceitnac mbi nonBiTaeMcn ero Ha-
CTpoHTB. Ho tojibko b tom cjiyuae, eCJIH OH
c nnnoM Lucent. Bo Bcex ocTajiBHBix enrya-
ItH HX 3TOT COBeT He noMoaceT.
HTax, 3axoaHM Ha caftT http://heby.de/ltmo-
dem. TaM ecTB yace OTKOMniuiHpOBaHHBie
Moayjin ajiH Lucent Apollo h Mars. ARM-
MoacMBi 3thm apaftBepoM He noaaepxHBa-
lOTCH. CKaHHBaeM OTKOMnHJIHpOBaHHBIH
MoayjiB. KcTaTH, Moayjin aocTynHBi arm
cjieayiOLHHx ancTpHdyTHBOB:
► Debian GNU/Linux;
► Gentoo;
► Red Hat Linux;
► Fedora Core;
► Mandrake Linux;
► SUSE Linux;
► Conectiva Linux.
Ecjih Barnero ancTpHdyTHBa HeT b ennexe
(HJIH JKe OTKOMnHJIHpOBaHHBIH MOayJIB
noneMy-TO He ycTaHaBjiHBaeTca b cncTe-
Me), HyacHO CKauaTB naKeT c ncxoaHBiM ko-
aoM. nocjieaHHH Bepcna Moayrm (apaftBe-
pa arm MoaeMa) Ha momcht HanHcaHHH
3thx ctpok — 8.30a3. noxa OHa HaxoaHTca
Ha CTaaHH TecTHpoBaHHH, ho y Hac HeT bbi-
dopa: CTadHjiBHan Bepcna 8.2x He noaaep-
xcHBaeT aapo 2.6.
Ecjih bbi CKaaajin apxHB c ncxoaHBiM xo-
aOM, yCTaHOBHTB MOayJIB OneHB npOCTO,
ho nepea 3thm ydeaHTecB, hto y Bac ycTa-
HOBjieHBi 3arojiOBOHHBie (J>aHjiBi aapa h
KOMnHJIHTOp GCC. fljia yCTaHOBKH MOay-
jia pacnaKyHTe apxHB c ncxoaHBiM KoaoM
b /usr/src/ltmod h 3anycTHTe citeHapHH
buildmodule. 3aTeM, ecjin MoayjiB, ko-
HeuHO, ycnemHO OTKOMnHjrapOBajica, 3a-
nycmTe citeHapHH ltinst2 arm yCTaHOBKH
Moayrm (xonHpoBaHHH ero b xaTajior c
MoayrmMH), a nocjie 3toto — citeHapHH
autoload, kotopbih «nponHmeT» tojibko
HTO OTKOMnHJIHpOBaHHBIH MOayJIB B (jtaHJI
/etc /modules. conf. B pe3yjiBTaTe BBinojiHe-
HHH 3THX KOMana MOayJIB CKOnHpyeTCH B
KaTajior /hb/modules/'uname -r'/ltmodem/.
B aoKyMeHT etc/modules. conf HyacHO ao-
daBHTB cjieayiontHe ctpokh:
alias char-major- 62 lt_serial
alias /dev/ttyLTO lt_serial
alias /dev/modem lt_serial
KpOMe toto, HeodxoaHMO odHOBHTB enn-
cox 3aBHCHM0CTen (KOMaHaa depmod -a) h
C03aaTB ycTponcTBO /dev/ttyLTO:
# mknod /dev/ttyLTO c 62 64
# In -s /dev/ttyLTO /dev/modem
B kppp b KauecTBe ycTponcTBa HyacHO yxa-
3aTB /dev/modem (MoacHO HanpaMyio —
4/2005 LINUX CHIP
92
practice
npaxTMHecKMe c o b e t bi
/dev/ttyLTO), a aaJiBine Bee KaK o6bihho.
Ecjih Barn MoaeM 6 yaeT njioxo pacno 3 Ha-
BaTB CHraaji « 3 aH 5 iTO», to ycTaHOBHTe cjie-
ayioiayio CTpOKy HHHiiHajiH 3 au;HH Moae-
Ma — «AT+GCI=B8». |
HacTpoHKa CHCTeMbi
CBepiiM qacbi
KaK bbi yxce aoraaajiHCB, HHxce pent noiiaeT
O CHHXpOHH3aiJHH UaCOB KOMIIBIOTepa c
cepBepOM BpeMeHH. JXjw 3toto mbi 6yaeM
HcnojiB30BaTB npOTOKOJi NTP (Network
Time Protocol). npHHijHn CHHxpOHH3au;HH
3aKJii0HaeTC5i b cjieayionjeM: NTP-KjiHenr
(nporpaMMa ntpdate) noaKJiiouaeTCii k
cepBepy BpeMeHH, nojiyuaeT ot Hero toh-
Hoe 3HaneHHe uacoB, MHHyT h cexyHa
h ycTaHaBjiHBaeT cncTeMHoe BpeMH b co-
OTBeTCTBHH C nOJiyueHHBIMH aaHHBIMH.
nporpaMMy ntpdate moxho cxauaTB c
caifra www.ntp.org.
CHHXpOHH3aiIHH BpeMeHH BBinOJIHHTe
KOManay (ot HMeHH nojiB30BaTejin root):
# ntpdate <cepnep_HMeH>
CnncoK obmeaocTynHBix cepBepoB HMeH
HaxoAHTcn Ha caHTe www.eecis.udel.edu/
~ mills /ntp /servers . html .
#CHO, HTO BaM He XOHeTCH KaXABIH fleHB
BBOAHTB 3Ty KOMaH^y Bpymiyio. Il03T0-
My AJin aBTOMaTHnecKOH CHHxpOHH3an;HH
BpeMeHH noMecTHTe KOMaHay chhxpohh-
3aijHH b pacnncaHKH. HanpHMep, aJin
CHHxpOHH3aiiHH BpeMeHH b 7 uacoB yrpa
Kaacaoro ahh KpOMe BOCKpeceHtn aobaBB-
Te b /etc/crontab cjieayiomyio 3anHCB:
0 7 * * 1-6 ntpdate <cepnep_HMeH>
/JyMaio, He Hyxmo HanoMHHaTB o tom, hto
eme ao BBinojiHeHHH 3 toh KOMaHaBi y Bac
aojuKHO 6 bitb ycTaHOBjieHO coeaHHeHne c
HHTepHeTOM. Ecjih 3to KOMMyTHpyeMoe
coeAHHeHHe (o6BiuHoe MoaeMHoe), to b
# 03B0HmHKe (nporpaMMe, KOTOpyio bbi
oGbihho HcnojiB3yeTe aJin ycTaHOBKH co-
eAHHeHHH c HHTepHeTOM) yKaxHTe, hto
KOM aH^y ntpdate HyacHO 3anycKaTB cpa3y
nocjie ycTaHOBKH coeaHHeHHH .
Mojkho HcnojiB30BaTB 6ojiee yHHBepcajiB-
HBIH cnocod — C03^aTB CU;eHapHH, BBI3BIBa-
iomHH KOMaHay ntpdate, h noMecTHTB ero b
K aTajior /etc/ppp/ ipup.d, Bee (JjanjiBi koto-
poro 6yayr bbihojihutbch Hen ocpeacTBe h h o
npH ycTaHOBKe coean Henna c HHTepHeTOM.
Koa ciieHapmi cjieayioiaHH:
# !/bin/sh
CHIP LINUX 4/2005
ntpdate cepnep_BpeMeHH > /dev/null
2>&1
He 3a6yaBTe cpa3y caejiaTB cijeHapHH hc-
nOJIHHMBIM!
# chmod +x time-sync (mm npeanojiara-
eM, mto 3tot cneHapuii Ha3MnaeTcn
HMeHHO Tan)
HactpoMKa CHCteMbi
HecTaHAapTHbie
BMfleope>KMMbl
npeHMymecTBo noaodHBix BnaeopexH-
MOB B TOM, HTO OHH n03BOJHIIOT 3aaaTB
HecTaHaapTHoe pa3pemeHHe, yBejiHUHTB
nacTOTy oGhobjichhh MOHHTopa h npo-
BecTH npoune 3KcnepHMeHTBi c BHaeo-
aaanTepoM h mohhtopom. Cpa3y xony
oTMeTHTB, hto a-an HeKOTopBix Moaejien
mohhtopob h BHaeoaaanTepoB aejiaTB
3 to BecBMa HeacejiaTejiBHO, nosTOMy Bee
onepaaHH bbi 6yaeTe npoBoaHTB Ha cboh
CT pax H pHCK.
HTaK, HanHeM. B <£>aHJie XF86Conflg
(hjih XF86Config-4) nponncBiBaeTcn
bch HH(J)opMaaH5i o BHaeonoacHCTeMe,
B TOM HHCJie H peXHM MOHHTOpa. Oh 3a-
aaeTcn cneanajiBHOH CTpoKon (b amato-
H3BIHHOH JIHTepaType CTpOKa, OnHCBI-
BaiomaH pexHM MOHHTopa b <£>aHJie
XF86Config, Ha3BiBaeTcn Modeline)
cjieayiomero cjiopMaTa:
Modeline <name> <clock> <horiz-val-
ues> <vert-values>
3aecB:
► name — hmh peaauvia, o6bihho ncnojiB-
3yeTC5i aJin yKa3aHHH pa3pemeHHn, Ha-
npHMep 1024x768;
► <clock> — uacTOTa reHepaTopa aJin yxa-
3aHHoro b <name> pa3pemeHHn; nponn-
CBiBaeTcn b Merarepaax h onpeaejineT
CKOpOCTB, C KOTOpOH BHaeOnjiaTa aOJHKHa
nocBuiaTB 3HaneHH5i to nex Ha mohhtop;
► < ho riz -values > h <vert-values> — 3aaa-
IOT BpeMH, KOraa 3 JIT MOHHTopa aOJHKHa
BKJHOHHTCH H KOTaa aOJiaCHBI npHHTH HM-
nyjIBCBI T0pH30HTaJIBH0H H BepTHKaJIBHOH
CHHxpoHH3au,HH npH pa3BepTKe jiyua.
3HaneHHH <horiz -values > h <vert-values>
COCTOHT H3 HeTBIpeX aOnOJIHHTeJIBHBIX
3HaneHHH: npnueM neTBipe 3HaneHHH ot-
HOcnTcn k ropH30HTajiBHoii pa3BepTKe H
eiae ueTBipe — k BepTHKaJIBHOH.
3aaaBaTB pexcHMBi BpyuHyio He oneHB xo-
HeTcn, ocodeHHO ecjiH He coBceM noHH-
MaemB, hto 3aecB h k neMy. OdjieruHTB 3a-
aany CMO^ceT nporpaMMa QVideoGen —
reHepaTOp BHaeopexniMOB. CxanaTB ee
mojkho c caHTa, pacnojioxeHHoro no aa-
pecy ftp://ftp.altlinux.ru/pub/distributions/
AFTFinux/Compact/2. 3 /AFTFinux/RPMS .
contrib/qvideogen-1.3-altl.i586.rpm.
3to aajiexo He eanHCTBeHHoe 3epxajio,
npocTO HMeHHO OTTyaa ee cxanaji n. no-
cjie 3anycxa nporpaMMa npeaJiaraeT ycTa-
hobhtb napaMeTpBi BHaeoaaanTepa h mo-
npaxTMHecKMe c o b e t bi
93
HHTOpa, a HMeHHO MaKCHMajibHbie pa3Mep
naMHTH h nacTOTy am BHAeoaAanrepa h
M aKCHMajiBHbie nacTOTbi pa3BepTKH am
MOHHTO pa. ITocjie 3Toro BBe^HTe HyacHoe
pa3pemeHHe h HaxcMHTe «Add» am ao-
daBjieHHH peacHMa b cnncox. npn Haaca-
thh KHonKH «Finish» dyAeT co3AaH Texc-
tobbih (j)aHJi, coAepxamHH «Modelines»
AM BCeX BHAeOpeXCHMOB, KOTOpbie Bbl
A odaBHjiH b cnncox. BaM ocTajiocb tojib-
KO CKOnHpOBaTb 3TH CTpOXH B Baill (jiaHJI
XF86Config (hjih XF86Config-4).
Flocjie pe^aKTHpOBaHKH XF86Config Hyx-
ho nepe3arpy3HTb rpac[)HHecxyio CHCTeMy
X Window, /Jjih 3Toro HaxMHTe kom6h-
HaijHK) KjiaBHin «Ctrl+Alt+Backspace».
He HCXjnoneHO, hto nocjie nepe3arpy3KH
pe3yjibTaT dyAeT hcckojibko ApyrHM, neM
bh oxn^ajiH. 3KcnepHMeHTHpyiiTe! KcTa-
th, npe^BapHTejibHO, noxa bh enie He Ha-
najiH 3 to ^ejiaTb, odimaTejibHO coxpaHHTe
Konmo XF86Config (XF86Config-4) — Ha
bchxhh cjiynaH. |
HacTpoMKa CHCTeMbi
He xBaiaei
onepaTMBHOM naMaTM
JlynniHH coBeT — 3 to noiiTH b Mara3HH h
K ynHTb AonojiHHTejibHbiH MOAyJiB naMH-
th. A noxa bbi BbracxHBaeTe Ha 3 to Aem>-
ra b CBoeM diOA^eTe, moxho C03#aTb ao-
nojiHHTejibHbiii (J)aHJi noAxanxn — xotb
neM-TO oh CMOxeT noMOHb. /(a, mh C03Aa-
A hm HMeHHO cjiaHji noAxanxn, a He pa3-
Aeji. fljw co3flaHHH pa3flejia BaM HyxcHO
dyAeT nepepa36HTb 3aHOBO xcecTXHH ahcx,
a 3to 3aiiMeT MHoro BpeMeHH, yHHTbiBan,
hto npH^eTcn co3AaBaTb pe3epBHbie xo-
nHH Bcex ^aHHbix, a ao ototo eme h npo-
H3BecTH AecjipameHTaiiHio Bcero acecTxo-
ro flHexa. no3TOMy mbi co3AaAHM (jaaMji
noAxanxn pa3MepOM 128 MdaHT (noTOM
ero MOvKHO dyAeT ^eaxTHBHpoBaTb h de3-
6ojie3HeHHO yAajiHTb):
# dd if=/dev/zero of=/swap/sw-file
bs=lk count=131072
flaHHan xoMaH^a co3Aajia cjiaHji, coctoh-
llxhh H3 ASCII-HyjieH, pa3MepOM 128 MdaHT
(131 072 daiiTa). Tenepb (JiopMaTHpyeM 3 tot
4>aHJi non swap:
# mkswap /swap/sw-file 131072
Bee, hto HaM ocTajiocb CAejiaTb, — 3 to ax-
THBH3HpOBaTb (J)aHJI noAxanxH:
# swapon /swap/sw-file
/(aHHyio xoMaHny xcejiaTejibHO AodaBUTb b
cu;eHapHH 3arpy3XH, HHane BaM npHAeTcn
bboahtb ee xaac£biH pa3 npn 3arpy3xe h ne-
pe3arpy3xe CHCTeMbi . |
OdopyflQBaHHe
YdaHOBKa eiye oflHoro
MOfly/ia naMBTM
Bbl yCTaHOBHJIH aOnOJTH HTeJT b H bi M MOnyjIb
naMHTH, ho CHCTeMa He bhaht ero, HanpH-
Mep, BMecTO 512 MdaHT no-npexoieMy hc-
nOJIb3yiOTC5I tojibxo 256. npHHHHa b tom,
hto HexoTOpbie AHCTpHdyTHBbi npn ycTa-
HOBxe b xoH(j)Hrypan;HK) 3arpy3HHxa AodaB-
jhhot napaMeTp HApa MEM=<NNNM>,
rAe NNN — odbeM onepaTHBHOH naMHTH b
M eradaHTax Ha momcht ycTaHOBXH.
# append="mem=256M"
# ofibHBjieHHe napaMeTpoB aapa
Bee, hto Tenepb Hyxno c^ejiaTb, — 3 to ot-
peflaxmpoBaTb napaMeTp mem, HanpHMep
mem=512M, hjih Boodme ero yaajiHTb.
Tojibxo He nepecTapaHTecb h He y^ajiuHTe
bck) CTpoxy napaMeTpoB (append) — B03-
moxho, y Bac ycTaHOBjieHbi xaxne-TO cne-
u;H(J)HHecxHe napaMeTpbi impa. Ecjih xce
napaMeTp mem y Bac eflHHCTBeHHbin, mojk-
ho y^ajiKTh bck) CTpoxy. |
AflMHHHCTpHpOBaHHe
AilbTepHaTMBHblM
KeuiMpyiomiiM
DNS-cepBep pdnsd
fljw Hanajia aaBaHTe pa3depeMca, hto Taxoe
xemnpyiomHH DNS-cepBep h 3aneM oh
H yxceH. Koraa bbi odpamaeTecb x xaxoMy-
HHdy^b Bed-y3Jiy no ero hmchh, a He IP-a#-
pecy (b dojibmHHCTBe cjiynae Tax oho h
ecTb), AJin ycTaHOBXH coe^HHeHHH c othm
y3JiOM HyjKHO pa3pemHTb ero CHMBOJibHoe
hmh b IP-a^pec. nporpaMMa-pe30JiBep
nmeT ero b CBoeM xeme. Ecjih cooTBeTCTBy-
iomero HMeHH TaM HeT, OHa odpamaeTcn x
DNS-cepBepy npoBaH^epa. #cho, hto Ha
3 to yxojiHT onpeflejieHHoe BpeMH. YcTaHO-
bhb xemnpyiomHH cepBep, mbi MO)xeM cy-
mecTBeHHO coxpaTHTb hhcjio 3anpocoB x
DNS-cepBepy npOBaftflepa, nocxojibxy Bee
HeodxoAHMbie 3anncH y3JiOB, b xotopbim bbi
nacTO odpamaeTecb, xpaHHTCH b xeme Ba-
rnero codcTBeHHoro DNS-cepBepa. Oco-
deHHO 3 to no3BOJiHeT ycxopHTb 3anpocbi Ha
Me^JieHHblX MO^eMHBIX COeAHHeHHHX.
Ecjih bbi cjiemuiH 3 a mbicjibio, to y Bac
bo 3 hhx 3anpoc: «A 3aneM HacTpaHBaTb xe-
mnpyiomHH DNS-cepBep, ecjin pe30JiBep
Taxace xemnpyeT DNS-OTBeTbi?» A 3aTeM,
hto xemnpyiomHH DNS-cepBep coxpaHH-
eT DNS-OTBera npn nepe3arpy3xe cncTe-
mbi, a pe30JiBep — Hex
TpaAHu;HOHHO b xanecTBe xemnpyiomero
DNS-cepBepa a ajxe Ha AOMamHen Ma-
mnHe Hcnojib30BajiCH BIND (named).
Ho cennac mbi noroBOpHM o dojiee Jier-
xom b HacTponxe xemnpyiomeM cepBepe
pdnsd. a, y Hero HeT h hojiobhhbi
(J>yHxi^HH BIND, ho Be^B ohh BaM h He
HpxHbi. Bama 3a^ana — HacTpOHTb xe-
mnpyiomHH cepBep in CBoero jioxajib-
Horo xoMnbiOTepa. A Hcnojib30BaTb
BIND am 3 thx ijejieH, mhtxo roBOpn,
coBceM He pau,HOHajiBHo.
3arpy3HTb cepBep pdnsd moxho no a^pecy
www.phys.uu.nl/~rombouts/pdnsd/. nocjie
ycTaHOBXH OTpeAaxTHpyHTe (Jjauji xoh(J)h-
rypaHHH /etc/pdnsd.conf:
# local usage only
server_ip= M 127. 0.0.1";
server_port=53;
B 3 tom cjiynae cepBep dy^eT AOCTyneH jio-
xajibHbiM npHjioaceHHHM (oh dyaeT hc-
nOJIB 30 BaTb TpaAHAHOHHBIH 53 -h nopT).
nocjie 3 Toro HyxcHO onpeAejiHTb rb a jho-
dbix xopHeBbix cepBepa. Jlynme Bcero hc-
nojib 30 BaTb DNS-cepBepbi npOBaHAepa,
nocxojibxy ohh djunxe Bcero x BaM:
server {
ip="82.207.9.115";
changeable_ip=on;
label="pppdnsl";
timeout=30;
purge_cache=off;
}
server {
ip="82.207.9.116";
changeable_ip=on;
label="pppdns2";
timeout=30;
purge_cache=off;
}
B (J>aHji xoH(J)Hrypau:HH pe30JiBepa AodaBb-
Te Bcero o^Hy CTpoxy — OHa AOJHXHa dbiTb
nepBon:
nameserver 127.0.0.1
Bee, 3 anycxaeTe cepBep h Hacjia^AaeTecb
ero padoToii (He 3 adyABTe tojibxo noA-
xjhohhtbch x MHTepHeTy!):
service pdnsd start
4 / 2 0 0 5 L I N U X | CHIP
94
review
cot|]T-od 3 op
CinePaint
Ectb Taicne npHjioxeHHH, KOTOpbie eme
AO Bbixo^a BepCHH 1.0 chhckajih h yBa-
vKHTejibHoe oTHomeHHe, h noBbimeHHoe
BHHMaHHe, AeMOHCTpHpyiOmHe CBOHM
cymecTBOBaHHeM npeHMymecTBa OTKpbi-
TOH MOAeJIH pa 3 pa 60 TKH no. B MX HHCJie,
6 e 3 coMHeHHH, h CinePaint — npoexr,
oO'beAHHilHDmHH OTKpbITbie pecypcbi kh-
HOHHAyCTpHH, yHHBepCHTeTCKHX KpyroB
h cooOmecTBa Open Source. CinePaint
HaxoAHT ce 6 a rjiaBHbiM o 6 pa 30 M b Tma-
TejibHon o 6 pa 6 oTKe H 3 o 6 paaceHHH, b oco-
6 eHHOCTH ABeTa, noAAepacHBaa padoTy c
rjiyOnHOH 32 6 nTa Ha xaHaji. Ycnexy
CinePaint mo)kho no 3 aBHAOBaTb: Taicne
CTyAHH KaK Rhythm & Hues, Computer
Cafe, Amalgamated Pixels, Sony Pictures
Imageworks, DreamWorks h MHorae Apy-
rae He odouuiHCb 6 e 3 Hero npH co 3 AaHHH
«rappH noTTepa», odenx uacTeii «Ma-
jieHbKoro CTioapTa», «njiaHeTbi o 6 e 3 b-
hh», «JlHm Bbiaatomuxca axeHTabMe-
hob», «nocjieAHero caMypaa» h apyrux
(J)HabMOB. Koro nocjie 3 Toro ocTaHOBHT
CKpOMHblH HOMep 0.20 TeKymeH BepCHH?
npoeKT CinePaint He orpaHHUHBaeTca
co 3 aaHHeM oahoto peAaKTOpa — o 6 bhb-
jieHO o roTOBnmeMCii k 31 Aexadpa bbixo-
Ae apxHTeKTypbi Glasgow, bo mhotom
cxoaceii c Film Gimp, ho OTjiHuaiomeHcn
no HcnojiHeHHio h MacurradaM.
%3uk immepfpeuca : pyccKuu
floMaiuHHH cmpanupa: cinepaint.source-
forge.net
UFRaw 0.6
BbiuiAa HOBafi eepcMA UFRaw —
nporpaMMbi Ana o6pa6oTKM
RAW-CHMMKOB M3 UMC^pOBblX
KaMep. PejiM3 ocHOBaH Ha
DCRaw v7.84. flpM noMOiAM
nporpaMMbi chmmkm, cfle/iaH-
Hbie b cJjopMaie RAW, mo>kho
noflBeprHyTb npeflBapMTenb-
hom o6pa6oTKe — CKOppeKTM-
poBaTb 6anaHC 6eAoro, 3Kcno-
3MLJMK), npMM6HMTb fOTOBbie
KpMBbie KOppeKUMM T0H3 M
3KCnopTMpOBdTb pe3yjlbTaT B
TIFF mam JPEG co BCTpaMBaHMeM
EXIF-AaHHbix. nporpaMMa yMeeT
pa6oTaTb KaK MOAyjib GIMP, ho
npM 3TOM paCMeTbl npOMCXOABT
b 8-6mthom pe>KMMe. B hobom
eepcMM nporpaMMbi:
► BK/uoMeHa AHD-MHTepnonn-
Umh (Adaptive Homogenity-
Directed Interpolation);
► Ao6aBA6Ha ocHOBHaa KpMBaa,
3MyAMpyK>LAaa noBeAeHMe KpM-
bom KoppeKUMM TOHa Nikon;
► aBTOMaTMMeCKM npMMeHH-
eTcn BCTpoeHHaa noAb30Ba-
TeabCKaa KpMBaa, ecAM
KaMepa HacipoeHa f\nn ee
MCn0Ab30B3HMa;
► noAA 6 p>KMBaK)Tca npaMO-
yroAbHbie nMKceAM D1X;
► Ao6aBAeHa noAAep>KKa
EXIF ajib libtiff 3.7.4;
► McnpaBAeHbi HeKOTopbie
oujm6km.
1 \ 3 biK uHmepcfreuca:
aHznuucKuu
RoMavuHnn cmpciHuu,a:
http:/ /uf raw. sourceforge. net
cdrdao h GCDMaster
cdrdao — He 3 aMeHHMbiH homoiahhk b
T ex cjryHaax, KorAa B 03 HHKaeT HeodxoAH-
moctb 3 anncH ahckob b pexcHMe DAO, hjih
«AHCK a 3 a pa 3 », OCHOBaHHOM Ha OnHCaHHH
3 anHCbiBaeMoro coAepxcaHHH b tckctobom
ctiaiuie (Tax Ha 3 biBaeMbiii TOC-c^aiiji).
C noMombK) npHJioxceHHH nojib 30 BaTejib
nojiynaeT kohtpojib 3 a npOAOJDKHTejib-
hoctbk) nay 3 MejKAy TpexaMH (pre-gaps)
BiuiOTb ao hx nojiHoro HCKjnoueHHn, a
Taioxe TaKHMH AaHHbiMH cydicaHajiOB xax
HyMepauHa xaTajioroB, cjuiara 2 / 4 -xaHajiOB,
KOA I SRC, OTMeTKH HHAdCCaitHH H T. A-
CTajio xopomen TpaAHUHeH BMecTe c bbixo-
AOm onepeAHOH BepCHH cdrdao BbinycxaTb
h odHOBjieHHbiii GNOME CD Master —
rpacjDHuecKHH HHTepcjieHC, ynponjaioiitHH
npoitecc HMnopTa (J>aiuiOB MP3 h WAV,
o 6 ecneHHBaK)LUHH yaodcTBO npn co 3 AaHHH
codcTBeHHoro ayAHonpoeicra h nocjieAyio-
meu ero 3 anncH Ha CD, KonHpOBaHHH c
CD Ha CD hjih pa 3 Aeji xecTKoro Ancxa.
%3biK mmepcjjeuca: ammiucKuu
ffoMarnmn cmpaHULia: cdrdao.sourceforge.net
Eile Actions Settings Help
Available Reader Devices
Vendor [ Model | Status E
LITE-ON COMBO SOHC-5235K Reading
LITE-ON COMBO SOHC-5235K Ready [7
Read Options
|7 Copy to disk before burning
Speed: | |"~ | F L
CHIP LINUX 4/2005
C0(j)T~0630p
95
Audacity 1
BhiinjTH rbq HOBbie BepCHH CBodoaHoro 3By-
koboix) peaaicropa Audacity. Bepcnn 1.2.4
OTHOCHTCH K CTapOH BCTKe H COflepXHT B OC-
HOBHOM HCnpaBJieHHH HaHaeHHblX ohihSok.
/(odaBjieHa odbiHHaa jsjm apyrux npnaoxce-
HHH B 03 M 0 >KH 0 CTb OTKpbITb HeflaBHO OTKpbl-
BaBUJHecH cbanjibi. KpoMe Toro, nporpaMMa
Tenepb ncnojib3yeT Vorbis 1.1.
B 1.3.0, ranpOTHB, Macca HOBinecTB. Ilo-
mhmo MejiKHx yaodcTB Bpoae dbiCTporo
CBOpaHHBaHHH H pa3BOpaHHBaHHB AOpO>KeK
no BepTHKajin nonBHjincb oueHb nojie3Hbie
cj}yHKUHH, KOTOpbie, BnponeM, erne dyayr
coBepmeHCTBOBaTbCH. Bo-nepBbix, 3 to
aojiroacaaHHbie MHOxecTBeHHbie odjia-
cth (clips) BHyrpn aopoxeK H conyrcTBy-
loiane (J)yHKn;HH pa3aejieHHH n odBean-
HeHHH odjiacren.
2.4 h 1 . 3.0
Bo-BTOpbix, HOBan naHejib BHH3y Rim toh-
Horo BbiGopa odnacTH no xpOHOMeTpaxy,
npn noMonin kotopoh TaKace jierne onpe-
aejineTcn TeKyn/a a no3nu;HH bo BpeMeHH.
B-TpeTbnx, nepecMOTpeH HHTep^enc ao-
POvKkh jxj in 3aMe-
tok. Tenepb ropa3-
a o jieme MemiTb
rpaHHn;bi Bbiaene-
hhh ajih Kaxmon
3aMeTKH.
HeTBepToe HeMa-
jiOBaxcHoe HOBine-
CTBO — B03M03C-
hoctb naxeTHon
o6pa6oTKn cbanjiOB,
peajiH30BaHHan xax
nacTb npoeKTa
CleanSpeech — pacmnpeHne bo3moxchoc-
Ten Audacity Rim aBTOMaTnuecKon odpa-
6otkh rojiocoBbix 3anncen.
H roiTan HOBan c^ymci/ira — 3arpy3Ka 4>an-
jiob Ha FTP-cepBep npHMO H3 Audacity.
$l3biK unmepfpeuca : pyccKuu
ffoMauiHHH cmpaHupa:
http://audacity.sf.net
vshnu
Bcepbe3 h/ih b uiyTKy nnuieT
Cthb KnHU/iep o csoen pa6o-
ie, mo <oto HasBaHne B3biBa-
eT k MHflMMCKOMy 6ory BiiuiHe,
XpaHMTeilK) BCeiieHHOM h boc-
CTaHOBmejiio flxapMbi», ho
caM vshnu 6epeT Hana/io ot
MSB ecTHoro eiue b 80-e roflbi
npoeKTa vsh, a nu — He
mo HHoe, KaK nrpa c/iob
« nu — new».
B OT/iMMMe ot GNU Midnight
Commander, h/ih npocTO me, 3Ta
rpac|}MMecKan o6o/iOMKa no/mo-
CTbio Mcno/iHeHa Ha Perl, ho nnn
pa6oTbi c Hew no/ib30BaTe/iK> He
Hy>KHO B/iaAeTb 3TMM H3blKOM.
YcTaHOBKa vshnu He 3atiMeT
MHoro BpeMeHH, 0Ha He Tpe6yeT
KOMnM/muMM, h BMecTe co exa-
MaHHbiM apxHBOM k BaM nonaayT
noApo6Hbie HHCTpyKUHH no ee
HdCTpOHKe H HCn0/lb30BdHHK), a
T3K>Ke o63op ocHOBHbix ee AO-
ctohhctb. fl/m noAAep>KKH noA-
CBeMHBdHMH paS/lHMHblX THnOB
dpamoB rpacj/HMecKOH o6o/ioMKe
AOCT3TOMHO, MT06bl 3TO Ae/ia/ia
Bauia KOMdHAHa/i o6o/ioMKa. rie-
peA nepBbiM 3anycKOM vshnu
HacTOHTe/ibHo peKOMeHAyeTcn
npoBepMTb 0Kpy>KeHHe o6o/iom-
kh (c noMOLUbK) env h/ih print-
env). B c/iyMae HexoppeKTHon
ycTaHOBKM TERM m LS_COLORS
MoryT noMOMb c/ieAyiomne pe-
LueHHa p,j\a bash:
export TERM=xterm-color
eval $(dircolors)
h/ih Asia tesh:
setenv TERM xterm-color
eval ' dircolors '
Mt 3K, no/ib30BaTe/ib no/iywaeT
Aono/iHHTe/ibHbiH rpacj/HMecKHH
pe>KHM b CTpoxe TepMHHa/ia h
HHT epnpeTaTop Perl.
fl 3 biK UHmepcpeuca: am/iuucKuu
floMauwaa cmpatwna: cs.indi -
ana. edu/~kinzler/vshnu
GIMP
no onepe^Hon HecTadnjibHon Bepcnn
GIMP bh^ho, uto padoTa BeaeTCH npaKTH-
ueciot bo Bcex B03M03CHbix HanpaBjieHnnx.
B KaTeropnio «YnpocTHTejin >kh3hh»
mOvKho OTHecTH npHjinnaHHe K KOHTypy
n 6 biCTpbin aocTyn k peaaKTOpy ropnnnx
KJiaBHin nepe 3 Memo «npaBKa».
KaTeropnn «XpaHHTejin HepBOB» nonoji-
HHjiacb onTHMH3annen OTMeHbi/noBTOpa
aencTBHH, «ycKOpeHHon 3arpy3Kon npo-
2 . 3.5
rpaMMbi n noBTOpHon 3arpy3Kon aaHHbix,
onTHMH3an;HeH SIOX (ajiropHTM Bbiaene-
Hnn odteKTa Ha nepeaHeM njiaHe).
B KaTeropnn «Ha CTpaxe coxpaHHOCTH
i/BeTa» oaHO Hedojibmoe, ho npnnTHoe
HOBinecTBO — HTeHne/coxpaHeHne ICC-
npo(})HjiH b (J/amiax (J)opMaTa PNG.
J\jm ronnyiuHx codcTBeHHbie MoayJin 3(J)-
cj)eKTOB aodaBjieH aocTyn k euxe dojibmeMy
KOJinueCTBy BHyTpeHHHX (J)yHKHHH. Kax
Bceraa, ncnpaBjieHO mhoto onindox, 3adoT-
jihbo aodaBjieHHbix b xoa paHee.
%3biK unmepcjjeuca: pyccKuu
JJoMauimH cmpaHUu,a: www.gimp.org
Cepren Mopo 3 , A/iexcaHAP flpoKyAHH
4/2005 LINUX CHIP
96
review
k h h r h no TeMe
Korfla eauia Aeme/ibHOCTb HanpaMyio
33 bmcmt ot ncnpaBHO m pa6oTbi Dio-
6a/ibHOM ceTM, KaKne npo6aeMbi Bcra-
iot HaM6o/iee ocipo? CKopee Bcero,
3to HeHafle>KH0CTb ceieBOM 6e3onac-
hoctm. B noc/ieflHee BpeMa TeMnbi
pa3BMTMB KOMnblOTepHbIX TeXHO/IO-
r mm cfle/ia/in 3 tot Bonpoc oahmm m3
OCHOBHbIX B CeTeBOM MHAyCTpMM, M
ot ero KaMecTBeHHoro peweHMa 3a-
bmcmt KOMCpopTHaa pa6oia OrpOM-
hoto MMC/ia /noAeft. KaK 3ammmb cbom
KOM nbiOTep? KaK C03AaTb 6e3onacHbiM cepeep? KaK jiymue koh-
Tpo/inpoBdTb ceieBoe noAK/iiOMeHMe? Ha 3tm m MHome Apyrne
Bonpocbi npn3BaHa OTBeimb 3Ta KHiira.
Oahmm m3 nav\6onee coBpeMeHHbix cnoco6oB 3ammbi KOMnbio-
Tepa BB/iBeTCB Mcno/ib30BaHMe 6paHAMay3pa. fl/ia toto mo6bi
MdKCMMdilbHO nOJIHO paCKpbITb BOnpOCbl OpTdHM3dL4MM KaMeCT-
BeHHoro 6paHAMayapa noA Linux, pa3pa6omMKaM npMiiuiocb
paccMOTpeTb npaKTMMecKM see acneKTbi pa6oibi CeTM. flonon-
HMTe/ibHan MHc|3opMaunfl no3Bonnei MMTaie/iBM Jiymue noHrnb
npMHAMnbl C03A3HMB M C^yHKAMOHMpOBdHMH CMCTeM 3/ieKTpOHHOM
6e3onacHocTM. Ha cyA MMTaiejieM aBTopbi npeA/iaraiOT MeTbipe
r/iaBbi. riepean ocBemaeT o6mne noHBTMH cpyHKijMOHMpoBaHMii
6paHAMay3pa. Bo btopom noApo6Ho pa36MpaeTcn pa6oia c naxe-
TaMM AaHHbIX M AaiOTCB OCHOBHbie peKOMeHAaUMM no yCMiieHMK)
6e3onacHOCTM CMcreMbi. Tpeibn nocBBUjeHa npoABMHyTbiM cno-
co6aM 3aiAMTbi. HeTBepian MacTb BB/ineTcn cjjaKTUMecKu 6 jiokom
A ono/iHMTe/ibHOM MH(|}opMaAMM, KOTopan noMO>KeT 3aKpenMTb
ycBoeHHbie 3H3 hmb noc/ie npomeHMB 3 tom khmtm. B 3 tom rnaBe
Bbi HaMAeie npMMepbi 6paHAMayapoB m ccn/ikm Ha nony/inpHbie
MHTepHeT-pecypcbi.
IToxajiyH, b MHpe pa 3 pa 6 oT-
hhkob npHKJiaAHBix nporpaMM
noa Unix Majio kto He cjitiinaji
o Kpocc-miaT(})opMeHHOH 6 h 6 -
JIHOTeKe OT HOpBe>KCKOH KOM-
naHHH Trolltech jy m pa 3 pa 6 oT-
kh rpa(j}HnecKoro HHTepcjDeHca
Qt. C ee noMomBio moxcho co
3 aaBaTB KHTep^eitcbi npaKTH-
neCKH JH 060 H CJIOvKHOCTH Ha
njiaT(J)opMax Linux/Unix, Mac OS X h
Windows. Ha 6 a 3 e Qt 6 bijio C 03aaH0 mho-
xecTBO nonyjinpHBix npHjioxceHHH, b tom
HHCJie h nonyjiHpHan epeaa KDE.
Tenepb, c nonBjieHHeM otoh khhth nojn> 30 -
BaTeJIH nOJiyHHJIH OTJIHHHOe pyKOBOaCTBO
no C 03 aaHHK) npHJIOXCeHHH C HCn 0 JIB 30 Ba-
HHeM Qt. Ee aBTopbi hbjihiotch coTpyaHHKa-
mh Trolltech, h kto, KaK hh ohm, moxcct ao-
3 aiuHTa Ha bbicokom ypoBHe
Cpa3y xoMeicn npeAynpeAMTb, mo 3 to He 6aHa/ibHoe noco6Me no
HacrpoMKe roTOBoro 6paHAMayapa, 3Aecb npeACTaB/iena Ba>KHeM-
man MHcjjopMauMB f\j\r\ C03AaHna m onTMMM3auMM CBoero co6cTBeH-
hoto nporpaMMHoro npoAyKTa.
ll3AaHMe MHTepecHo TeM, mto OTBewaeT Ha MHorne Bonpocbi,
BbixoAHiAMe 3a npeAe/ibi nporpaMMMpoBaHMB m ynpaB/ieHMH cm-
CTeMOM 6e3onacHOCTM. Mo>kho npusecTM b npMMep peKOMeHAa-
Umm no pemeHMio npo6/ieM c B3aMMOA6MCTBMeM 6paHAMay3pa
M aOKa/IbHOM CeTblO MJ1M OCHOBbl C03AaHMfl apXMTeKTypbl C AByMH
6paHAMay3paMM. 3 tm «xmtpoctm» nosBoamoT npeoAO/ieib mho-
>KeCTBO TpyAHOCTeM, KOTOpbie MOryT B03HMKHyTb npM BHeApeHMM
b pa6oiy firewall. MaTepnajibi Taxoro n/iaHa BdpeMaiOTCB b no-
Ao6hom ziMTepaiype He TaK MacTO, m 3to BbiroAHO oniMMaeT ash-
HOe M3AaHMe OT KOHKypeHTOB.
HecMOTpn Ha Bee aoctomhctb3 khmtm, »enb3n CKa3aTb, mto oHa MAe-
a/ibHa bo Bcex OTHomeHMnx. HeKOTopbix MO>neT oiro/iKHyTb c/io>k-
HOCTb npenoAHeceHHoro MaTepMa/ia. flan noaHoueHHoro noHMMa-
hmh TeKCTa Heo6xoAMMO o6aaAaTb AOBoabHo 6oabuiMM 6ara>KOM
3H3HMM. Oahmm m 3 HeAOcraTKOB HBaneTCH OTcyTCTBMe TBepAoro ne-
penaeTa, BeAb KHMra bbho He npeAHa3HaneHa p,nn OAHopa30Boro
MTeHMa. LlipMc(3T He6oabLuoro Keraa He oneHb yAo6eH p,na Bocnpua-
tmh (3to M3Aep>KKa He6oabuiMx ra6apMTOB khmtm).
EcaM He CMOTpeTb Ha MeaKMe HeAoaeTbi, M3AaHMio mo>kho no-
CTaBMTb noao>KMTea bHyio oueHKy. BoabiuoM o6"beM MaTepnaaa,
pacuiMpeHMe CTaHAapTHOM 6a30B0M MHcfjopMaitMM 0 cMCTeMe 3 a-
lAMTbi, HeBbicoKaa ueHa — Bee 3 tm cpaKTopbi Aoa>KHbi CTaTb on-
peAeaaiOLUMMM npM noKynne.
Mumnenji Mapn, OyndeM flwecpcppu, CctMbtoa/i AneKC. SpandMayspbi
e Linux. — M.: Bun bn mc/ New Riders Publishing , 2004. — 288 c.
PafioTa c QT b npHMepax
XOaHHBO H CO 3HaHHeM
aejia paccKa 3 aTB 06
3(J)(J)eKTHBHBIX npH-
eMax padoTBi c 6 h 6 jih-
OTeKOH H CpeaCTBaMH
pa 3 pa 6 oTKH Qt?
KHHra coctoht H 3 anyx HacTen.
nepBan paccnmaHa Ha hobhhkob h 3 aHH-
MaeT npH6jiH3HTejiBHO neTBepTB khhth.
B Hen, cjieayn ot npocToro k cjroxcHOMy,
aBTopbi Ha peajiBHOM npHMepe co 3 aaHHH
npHJIOXeHHH SJieKTpOHHOH Ta6jIHU;BI 3 Ha-
KOMHT HHTaTeJIH C TeXHOJIOTHeH CHTHaJIOB
h cjiotob, pa 3 pa 6 oTKOH HHTep(})eHca c no-
MOn^BK) BH 3 yaJIBHBIX CpeaCTB H BpyHHyK),
a TaKace c HcnojiB 30 BaHHeM BHaxeTOB.
BTOpan nacTB onHCBiBaeT BaxcHBie ac-
neKTBi npHMeHeHHH Qt Ha npaKTHKe —
KOMnOHOBKy H C 03 aaHHe COdCTBeHHBIX
BHa^ceTOB, padoTy c rpac})HKOH, noTOKa-
MH H CeTBK), HCn 0 JIB 30 BaHHe 6 a 3 aaH-
hbix h aoKyMeHTOB XML, a Taioxe pac-
CMaTpHBaeT Bonpocbi HHTepHaaHOHa-
JIH 3 aaHH npHJIOXeHHH.
Bee onncBiBaeMBie b KHHre TexHOJiomH
h npHeMBi conpOBO^aaiOTcn npHMepaMH.
KHHra HacTonTejiBHO peKOMeHayeTcn KaK
HanHHaioiaHM, TaK h ohbithbim pa3pa6oT-
HHKaM Tpa(j}HHeCKHX HHTep4)eHCOB.
Ejicmuiem jKcicmuh, CaMMepcjjmd Mapx.
Qt3: npospaMMupoeanue GUI na C++. —
M.: KyffHIJ- OEPA3, 2005. - 448 c.
CHIP LINUX 4/2005
0 6 3 0 p HOBMHOK
97
CojibtyeAMHO am Linux
3iy KHHry ctoht paccMaTpHBaTB xax CBoe-
ro poaa «npo6HBiH map». flo chx nop H3aa-
HHH no MyjIBTHMeAHHHOMy CBo6oaHOMy
cocjny b Poccnn h conpeaeriBHBix rocyaap-
CTBax He BBixoanno. Tax hto Ha 3 to H3aa-
Hne pa30M jieraa dojiBinan OTBeTCTBeHHOCTB
3a TO, BOCnpHMeT JIH MaCCOBBIH HHTaTeJIB
GNU/Linux xax aocTOHHyio njiaTcjiopMy
a Jin 3ByKOH3BjieneHHH hjih nee peniHT no-
ao>KaaTb ao Jiynmnx BpeMeH.
Abtop oneHB yaauHO noaomen k H3Jionee-
hhk) MaTepnajia. OnncaHne xancaon npo-
rpaMMBi HannHaeTcn c xpaTxoro pe3K)Me,
BCJiea 3a xotopbim naeT nepenncjieHne oc-
hobhbix npHHannoB pa6oTBi nporpaMMBi,
ee xoHnenHHH, ecjin xoTHTe. Tojibxo no-
cjie 3Toro paccMaTpHBaiOTcn npaxTnnec-
xne acnexTBi ncnojiB30BaHHn nporpaMMBi:
HacTponxa, npHMepbi n t. a. TaxnM o6pa-
30M, HHTaTejiB He nyBCTByeT cedn BHe3an-
HO BBl6pOineHHBIM B MOpe XOHCOJIBHBIX
xoMaHa 6e3 cnacaTejiBHoro xpyra.
B opnrnHajie xHnra hocht Ha3BaHne
«Linux Music & Sound, How To install,
Configure and Use Linux Audio Software»
(«My3Bixa n 3Byx b Linux. Kax ycTaHO-
BHTB, HaCTpOHTB H HCn0JIB30BaTB 3ByXOBOH
co(J)t aiiH Linux»), hto ropa3ao TOHHee
pyccxon Bepcnn OTpaneaeT ee coaepneaHne.
Mory tojibxo npeanojiaraTB, xaxnMu co-
odpaneemraMH pyxoBoacTBOBajincB ne-
peBoannx n H3aaTejiBCTBO, ho nnraTejiB
MoneeT oxa3aTBcn b HeaoyMeHnn ot He-
cooTBeTCTBun Ha3BaHHH coaepneaHnio.
flejio b tom, hto iMTB jieT Ha3aa, xoraa
dbuia HanncaHa n H3aam nepBan Bepcnn
«3ByxoBon CTyann», nporpaMMBi padoTajin
no dojiBinen nacra caMH no cede n apyr c
apyroM Hnxax He CTBixoBajincB. 3 to 6bijio
aocTaTOHHO «anxoe» BpeMn, xoraa Tpya-
ho 6bijio BcepBe3 tobophtb o 6 yaodHOM n
(j}yHxn;HOHajiBHO doraTOM cocjDTe arm pado-
tbi co 3ByxoM b GNU/Linux. nporpaMM
arm cepBe3Hon CTyannHon padoTBi Toraa,
no cyrn, He dbuio.
OdnaaaeT jih b TaxoM cjiynae XHnra xotb
xaxon-TO npaxTHuecxon aemiocTBio? Ot-
BeT, xax hh CTpaHHO, nojionenrejiBHBiH.
Pa3yMeeTcn, BMecTO 3ByxoBon noacncTe-
mbi OSS cennac oaH03HauHO pexoMeHay-
eTcn ncnojiB30BaTB ALSA. BeccnopHO,
nacTB onncaHHBix b xHnre npiuioneeHnn
b coBpeMeHHBix aHCTpndyrnBax 3apadoTa-
eT tojibxo nocjie npnMeHeHnn dojiBinoro
inepmaBoro HannjiBHnxa. fla, Ha CMeHy
onncaHHBiM nporpaMMaM npnnuin HOBBie,
xyaa dojiee coBepmeHHBie npoayxTBi.
H Bee nee aocTaTOHHO axTyajiBHBiMn mox-
HO CHHTaTB HeCXOJIBXO TJiaB. Bo-nepBBIX,
HH^opMaann o TpexepHBix cjDopMaTax n
nporpaMMax arm co3aaHnn TpexepHon
My3Bixn HHTepecHa n ceroaHn. npocTO
B TO BpeMH 3TOT CnOCOd COHHHHTeJIBCTBa
dbui b Moae HapaBHe c apyrnMn, a cennac
ajm oaHHx oh MoaeH xax cBoero poaa
«BHHTa>K», a arm apyrnx, aanee cnycra He-
xoTopoe BpeMH, OH OCTaJICH eaHHCTBeHHO
npaBHJIBHBIM H JIIOdHMBIM.
no-npencHeMy aemia HHC^opMaann o
MonjHOM 3ByxoBOM peaaxTOpe Snd, xo-
TopBin c Tex nop npaxTnnecxn He H3Me-
hhjich. BBoaHan HH(J)opMan:nn no Bepcnn
Csound arm Linux Tonee BecBMa axTyajiB-
Ha, nocxojiBxy HOBan, nnTan, Bepcnn
3TOTO 3HaMeHnTOTO CHHTe3aTOpa, B XOTO-
pOM npOH3onuia Macca xoppexmpOBOx,
o^nanajiBHO noxa He BBinuia n Bee eiae
He oueHB CTadnjiBHa. He noMemaeT no-
HHTaTB rjiaBy o nporpaMMax arm padoTBi
C HOTHBIMH 3anHCnMH. npH 3TOM CTOHT
noMHHTB,HTO HHTep^enc hothoto peaax-
Topa n MIDI-cexBeHcopa Rosegarden
(www.rosegardenmusic.com) 3aMemo no-
xopomeji, a BMecTO mup odbiuHO ncnojiB-
3yeTcn Lilypond. Cjiobom, mbicjichho ae-
jianTe nonpaBxy Ha nnTB JieT Bnepea, n
Bee dyaeT HopMajiBHO.
H3aaTejiBCTB0 npnjionenjio Bee ycnjinn x
TOMy, HTOdBI He aaTB H3aaHHIO MOpaJIBHO
ycTapeTB, aodaBHB 16-io rjiaBy. OHa nocT-
poeHa no TOMy nee npHHanny,
hto n opnrnHajiBHBin TexcT, n
CTapaHnn nepeBoannxa, Hann
caBmero ee, HecoMHemio, 3a-
cjiyncnBaiOT noxBajiBi. B Hen
paCXpBITO HeCXOJIBXO TeM.
HauHHaeTcn OHa c paccxa3a
o 3ByxoBOM cepBepe JACK c
Majion 3aaepncxon OTXjinxa
(low latency), a no3aHee b
H en noBecTByeTcn od nc-
nojiB3yiomeM JACK coBpe-
BnqeoiaB JIhkob, A/iencaHAP flpoKyAMH, Ahapcm HepenaHOB
MeHHOM no arm padoTBi co 3ByxoM.
KpOMe Toro, npnBoanTcn c^pameHT
BCTynnTejiBHoro ypoxa no Lilypond —
cpeacTBy hothoh pa3MeTxn, npn noMO-
mn xoTOporo mojkho nojiynaTB xanecT-
BeHHO CBepCTaHHBie HOTHBie napTHTypBi.
Paccxa3aH0 od ochobhbix peaaxTopax
ayano^anjiOB (Sweep, Audacity, Re-
Zound), cnHTe3aT0pe ZynAddsubFX,
a Taxnee Pure Data — eanHCTBeHHon no-
xa BH3yajiBHon epeae odpadoTxn 3Byxa
n rpa(J)nxn, HMeiomen codcTBeHHoe pyc-
cxon3BinHoe coodiaecTBO, nnmymee x
Hen aoxyMeHTaanio Ha poaHOM n3Bixe.
flocTaTOHHO odcTonTejiBHO b aonojmn-
TejiBHon rjiaBe paccMaTpHBaeTcn od-
iaenpH3HaHHBin <J>jiarMaH CBodoaHoro
3ByxoBoro co(})Ta — nporpaMMa arm
MHoroxaHajiBHon 3anncn n cBeaeHnn noa
Ha3BaHneM Ardour (http://ardour.org).
K concajieHHio, npn CHnTnn cxpnHmoTOB
c coBpeMeHHoro no nepeBoannx He Ha-
noMHnji HHTaTejmM, hto MHorne npo-
rpaMMBi ynce nepeBeaeHBi Ha pyccxnn
n3Bix. OneHB nopaaoBajio xanecTBO ne-
peBoaa. Tax nojiynnjiocB, hto n xopomo
3HaxoM c MaHepon H3JionceHnn aBTOpa.
flenB — nejiOBex, HecoMHeHHO, yBjieneH-
hbih, c oneHB ncnBBiM xapaxTepOM n pea-
xhm HBme yMeHneM nncaTB He tojibxo
HHT epecHO, ho eiae n no aeny, de3 4>ax-
Tnnecxnx omndox. OneBnaHO, hto ne-
peBoannxy MecTaMn npnxoanjiocB oneHB
Hecjiaaxo c odpa3Hon nncBMeHHon pe-
hbk) Onjuinnca, ho cboio 3aaany oh bbi-
nojiHHJi: cxyuaTB npn HTeHnn xhhth yne
touho He npnaeTcn.
B cnpaBOHHyio nacTB H3aaHnn bohijih tjioc-
capnn, enneox no Ha npnjionceHHOM anc-
xe, BecBMa TOJixoBan dndjinorpa^nn n, hto
H eMajiOBanmo, npeaMeTHBin yxa3aTejiB.
OneHB HaaeiocB, hto HOBoe, cepBe3H0
nepepadoTaHHoe H3aaHne, ojkh-
aaeMoe x BBixoay Ha
aHrjinncxoM n3Bixe
BecHon, dyaeT Tax nee
xauecTBeHHO nepeBeae-
ho Ha pyccxnn h3bix h
BB inymeHO b CTeHax toto
nee H3aaTe jibctbb .
Ou/munc ffeue. 3eyKoean
cmydm e Linux. PyKoeod-
cmeo npocjjeccuoHcuia. —
M.: DiaSoft, 2005. - 448 c.
4/2005 LINUX CHIP